日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

计算特征矩阵及哈希值(含OpenCV代码)

發布時間:2025/3/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算特征矩阵及哈希值(含OpenCV代码) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

將簡化色彩后的特征圖像中每個像素依次與當前圖像像素平均值進行比較





程序代碼如下:

#include <opencv2/opencv.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <stdio.h>using namespace cv;int main() {Mat srcImage = imread("1.jpg");int mm=8, nn=8;//mm,nn為縮小后圖像的大小。int cc=64; //cc為圖像簡化色彩后的灰度級數。int t[8 * 8];namedWindow("原圖");imshow("原圖", srcImage);cvtColor(srcImage, srcImage, CV_BGR2GRAY); //圖像化為灰度namedWindow("灰度原圖");imshow("灰度原圖", srcImage);cv::Size dsize = Size(mm, nn);cv::resize(srcImage, srcImage,dsize);namedWindow("灰度縮小");imshow("灰度縮小", srcImage);Mat Feature(mm, nn, CV_32SC1, Scalar::all(0));int i, j;int M = srcImage.rows;int N = srcImage.cols;for (i = 0; i<M; i++)for (j = 0; j<N; j++){Feature.at<int>(i / (M / mm), j / (N / nn)) = Feature.at<int>(i / (M / mm), j / (N / nn)) + srcImage.at<uchar>(i, j);// Feature.at<uchar>(i/(M/8),j/(N/8))+=m.at<uchar>(i,j);}//測試:看看縮小后,圖像里面的每個像素值是多少:for(i=0;i<mm;i++)for (j = 0; j < nn; j++)printf_s("縮小后,圖像里面的每個像素值(%d,%d)%d \n", mm, nn, Feature.at<int>(i, j));printf_s("end\n");//簡化色彩。當前灰度級為8位,即256色,將其處理為cc色。//這里設置cc=64for (i = 0; i<mm; i++)for (j = 0; j<nn; j++)Feature.at<int>(i, j) /= (256 / cc);//測試:看看簡化色彩后,圖像內里面的每個像素值是多少:for(i=0;i<mm;i++)for (j = 0; j < nn; j++)printf_s("簡化色彩后,圖像內里面的每個像素值是多少(%d,%d):%d \n", mm, nn, Feature.at<int>(i, j));//第3步:計算圖像的平均值。double sum, aver;sum = 0;for (i = 0; i<mm; i++)for (j = 0; j<nn; j++)sum += Feature.at<int>(i, j);aver = sum / (mm*nn);printf_s("sum=%lf,aver=%lf",sum,aver);//第4步:計算像素值與平均值大小關系。同時得到特征矩陣FeatureResult,并返回。int flag = 0;int FeatureResult[8 * 8] = {0};for (i = 0; i<mm; i++)for (j = 0; j<nn; j++)if (Feature.at<int>(i, j)>aver)FeatureResult[flag++] = 1;elseFeatureResult[flag++] = 0;printf_s("\n特征矩陣:\n");for (i = 0; i < mm*nn; i++){printf_s("%d ", FeatureResult[i]);if (i % 7 == 0)printf_s("\n");}printf("\n");waitKey();return 0; }
程序運行結構如下:


然后關于哈希值,如下所示:



新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!

總結

以上是生活随笔為你收集整理的计算特征矩阵及哈希值(含OpenCV代码)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。