Browse Source

增加图片相似比较参考

DevYK 3 years ago
parent
commit
b9b39ad8a5
2 changed files with 24 additions and 3 deletions
  1. 20 1
      README.md
  2. 4 2
      src/video_similarity_comparison.cpp

+ 20 - 1
README.md

@@ -191,7 +191,7 @@ strartTimeMs,endTimeMs 时间建议传递 8 段,每段为 1s,比如视频时
 
 ```
 
-```shell
+```java
 
 PQCVMediaProcessor.java
 static String getVideoSimilarityLists(String inputjson)
@@ -199,4 +199,23 @@ static String getVideoSimilarityLists(String inputjson)
 
 ```
 
+比较参考
+imageHash 每个字符串中的字符比较,如果对应位置上一样,即为相似,
+如果有 10 帧图像,其中经过比较有 5 张图片相似,那么他们的相似值为 50%
+
+```c
+
+float fingerprint_compare(const char *arr,const char *arr2, int len) {
+    int size = len;
+    int sim_sum = 0;
+    for (int i = 0; i < size; ++i) {
+        if (arr[i] == arr2[i])
+            sim_sum++;
+    }
+    return sim_sum * 1.0 / size;
+}
+
+```
+
+
 

+ 4 - 2
src/video_similarity_comparison.cpp

@@ -160,8 +160,10 @@ int main(int argc, char *argv[]) {
 
     //本地 local
     std::vector<VideoSimilarityModel *> local = lists[size - 1];
-    int test_vis[6][10] = {0};
-    int test_vis_total[6][10] = {0};
+    //相似 hash 值
+    int test_vis[6][8] = {0};
+    //所有的 帧
+    int test_vis_total[6][8] = {0};
     for (int j = 0; j < size - 1; ++j) {
         for (int g = 0; g < lists[j].size(); ++g) {
             int *cur_sim = list_sim_compare(local[g]->hashs, lists[j][g]->hashs);