国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C#結(jié)合OpenCVSharp4使用直方圖算法比較圖片相似度

這篇具有很好參考價值的文章主要介紹了C#結(jié)合OpenCVSharp4使用直方圖算法比較圖片相似度。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

C#結(jié)合OpenCVSharp4使用直方圖算法比較圖片相似度

直方圖有灰度直方圖、顏色直方圖,如果是灰度圖像,那么就用灰度直方圖,這里使用顏色直方圖來計算兩個圖片的相似度。

這里只記錄如何使用,至于算法原理,問就是不會。

直方圖算法效率高,但精度不夠,適合快速比較,例如以圖搜圖

1. 下載 OpenCVSharp4

通過NuGet包管理器進行下載。搜索OpenCVSharp4下載??蓞⒖记耙黄恼?C#結(jié)合OpenCVSharp4圖片相似度識別

2. 使用

        /// <summary>
        /// 直方圖相關(guān)性 
        /// 結(jié)果越接近1 則越相似
        /// 圖片相似度識別(精度不高,速度較快,可用于以圖搜圖)
        /// </summary>
        /// <param name="imgFile1"></param>
        /// <param name="imgFile2"></param>
        public double Compare_Hist(string imgFile1, string imgFile2)
        {
            var matA = Cv2.ImRead(imgFile1);
            var matB = Cv2.ImRead(imgFile2);

            // 拆分通道
            Cv2.Split(matA, out Mat[] matA_S);
            Cv2.Split(matB, out Mat[] matB_S);

            //直方圖的像素范圍   
            Rangef[] histRange = { new Rangef(0, 256) };

            //直方圖數(shù)組大小
            int[] histSize = { 256 };

            //直方圖輸出數(shù)組
            Mat hist_A = new Mat();
            Mat hist_B = new Mat();

            bool uniform = true, accumulate = false;
            Cv2.CalcHist(matA_S, new int[] { 0, 1, 2 }, null, hist_A, 1, histSize, histRange, uniform, accumulate);
            Cv2.CalcHist(matB_S, new int[] { 0, 1, 2 }, null, hist_B, 1, histSize, histRange, uniform, accumulate);

            //歸一化,排除圖像分辨率不一致的影響
            Cv2.Normalize(hist_A, hist_A, 0, 1, NormTypes.MinMax, -1, null);
            Cv2.Normalize(hist_B, hist_B, 0, 1, NormTypes.MinMax, -1, null);

            //相關(guān)性比較
            var res = Cv2.CompareHist(hist_A, hist_B, HistCompMethods.Correl);
            return res;
        }

比較結(jié)果

可以看出基本符合預(yù)期。

注意:由于直方圖算法未考慮像素的空間位置,所以當(dāng)圖片旋轉(zhuǎn)后,仍會被認(rèn)為是同一個圖

下面是將圖片旋轉(zhuǎn)后的計算結(jié)果,可以看到跟沒有旋轉(zhuǎn)時的計算結(jié)果一樣

記錄完畢~文章來源地址http://www.zghlxwxcb.cn/news/detail-702330.html

到了這里,關(guān)于C#結(jié)合OpenCVSharp4使用直方圖算法比較圖片相似度的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • visual Studio MFC 平臺實現(xiàn)拉普拉斯和拉普拉斯與直方圖均衡化與中值濾波相結(jié)合實現(xiàn)比較

    visual Studio MFC 平臺實現(xiàn)拉普拉斯和拉普拉斯與直方圖均衡化與中值濾波相結(jié)合實現(xiàn)比較

    本文使用visual Studio MFC 平臺實現(xiàn)圖像增強中的拉普拉斯變換,同時拉普拉斯一般不會單獨使用,與其他平滑操作相結(jié)合,本文使用了拉普拉斯與直方圖均衡化以及與中值濾波相結(jié)合,也對三種方式進行了對比 關(guān)于基礎(chǔ)工程的創(chuàng)建可以參考 01-Visual Studio 使用MFC 單文檔工程繪制

    2024年02月04日
    瀏覽(15)
  • OpenCV-41 使用掩膜的直方圖

    OpenCV-41 使用掩膜的直方圖

    掩膜即為與原圖大小一致的黑底白框圖。 如何生成掩膜? 先生成一個全黑的和原始圖片大小一樣大的圖片。mask = np.zeros(img.shape, np.uint8) 將想要的區(qū)域通過索引方式設(shè)置為255.mask[100:200, 200:300] 示例代碼如下: 輸出結(jié)果如下: 注意點: 0與任何東西進行與運算都為0 255與非0的進

    2024年02月20日
    瀏覽(21)
  • OpenCV10-圖像直方圖:直方圖繪制、直方圖歸一化、直方圖比較、直方圖均衡化、直方圖規(guī)定化、直方圖反射投影

    圖像直方圖就是統(tǒng)計圖像中每個灰度值的個數(shù),之后將灰度值作為橫軸,以灰度值個數(shù)或者灰度值所占比率作為縱軸的統(tǒng)計圖。通過直方圖,可以看出圖像中哪些灰度值數(shù)目較多,哪些較少,可以通過一定的方法將灰度值較為集中的區(qū)域映射到較為稀疏的區(qū)域,從而使圖像在

    2024年01月16日
    瀏覽(23)
  • calHist()-使用OpenCV和C++計算直方圖

    calHist()-使用OpenCV和C++計算直方圖

    在計算機視覺中,幾乎處處都使用直方圖。對于閾值計算,我們使用灰度直方圖。對于白平衡,我們使用直方圖。對于圖片中的對象跟蹤,比如CamShift技術(shù),我們使用顏色直方圖,采用顏色直方圖作為特征。 在更抽象的意義上,從梯度直方圖形成 HOG 和 SIFT 描述符。 直方圖也

    2024年01月17日
    瀏覽(21)
  • 使用OpenCV顯示圖像的RGB顏色直方圖
  • 【OpenCV ? c++】直方圖計算 | 繪制 H-S 直方圖 | 繪制一維直方圖 | 繪制 RGB 三色直方圖

    ??直方圖廣泛應(yīng)用于很多計算機視覺處理當(dāng)中。通過標(biāo)記幀與幀之間顯著的邊緣和顏色的變化,可以檢測視頻中的場景變化。在每個興趣點設(shè)置一個有相似特征的直方圖所構(gòu)成的“標(biāo)簽”,可以用來標(biāo)記各種不同的事情,比如圖像的色彩分布,物體邊緣梯度模板等等。是計

    2024年02月09日
    瀏覽(18)
  • 【OpenCV ? c++】自定義直方圖 | 灰度直方圖均衡 | 彩色直方圖均衡

    ??直方圖廣泛應(yīng)用于很多計算機視覺處理當(dāng)中。通過標(biāo)記幀與幀之間顯著的邊緣和顏色的變化,可以檢測視頻中的場景變化。在每個興趣點設(shè)置一個有相似特征的直方圖所構(gòu)成的“標(biāo)簽”,可以用來標(biāo)記各種不同的事情,比如圖像的色彩分布,物體邊緣梯度模板等等。是計

    2024年02月08日
    瀏覽(20)
  • Python圖像增強之直方圖均衡化(全局直方圖均衡、局部直方圖均衡)

    Python圖像增強之直方圖均衡化(全局直方圖均衡、局部直方圖均衡)

    圖像增強是有目的地強調(diào)圖像的整體或局部特性,將原來不清晰的圖像變得清晰或強調(diào)某些感興趣的特征,擴大圖像中不同物體特征之間的差別,抑制不感興趣的特征,使之改善圖像質(zhì)量、豐富信息量,加強圖像判讀和識別效果,滿足某些特殊分析的需要。 圖像增強通常劃分

    2024年02月13日
    瀏覽(28)
  • 【OpenCV學(xué)習(xí)筆記30】- OpenCV 中的直方圖 - 直方圖 - 4:直方圖反投影

    【OpenCV學(xué)習(xí)筆記30】- OpenCV 中的直方圖 - 直方圖 - 4:直方圖反投影

    這是對于 OpenCV 官方文檔中 圖像處理 的學(xué)習(xí)筆記。學(xué)習(xí)筆記中會記錄官方給出的例子,也會給出自己根據(jù)官方的例子完成的更改代碼,同樣彩蛋的實現(xiàn)也會結(jié)合多個知識點一起實現(xiàn)一些小功能,來幫助我們對學(xué)會的知識點進行結(jié)合應(yīng)用。 如果有喜歡我筆記的請麻煩幫我關(guān)注

    2024年03月26日
    瀏覽(29)
  • C#中使用OpenCvSharp4庫讀取本地圖像并顯示

    C#中使用OpenCvSharp4庫讀取本地圖像并顯示

    OpenCvSharp4是基于.NET 的 OpenCV 包裝器,OpenCV源代碼是采用C和C++寫的,目前對于C++和Python開發(fā)者相對來說比較友好,對于Python開發(fā)者而言官方提供了opencv-python使用。 首選我們使用Visual Studio 2022創(chuàng)建一個.Net控制臺程序 ReadImageUseOpenCvSharp4 ,然后安裝 OpenCvSharp4 安裝包,我們在Vis

    2024年04月16日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包