原创 opencv濾鏡-圖像灰度化

灰度圖像 灰度化,在RGB模型中,如果R=G=B時,則彩色表示一種灰度顏色,其中R=G=B的值叫灰度值,因此,灰度圖像每個像素只需一個字節存放灰度值(又稱強度值、亮度值),灰度範圍爲0-255。 圖像的灰度化一般作爲圖像的預處理步驟,爲之

原创 opencv濾鏡-去色濾鏡

去色濾鏡 去色濾鏡與灰度化的效果比較相近,對圖像的處理也都是比較相近。去色處理之後的圖像實際也是一張灰度圖(三個通道分量灰度值相等,與灰度圖一個通道的顯示效果一致)。去色的原理是,分別取r、g、b三個分量的最大值與最小值,然後將最大值與最

原创 opencv濾鏡-素描

素描 將彩色圖片轉換成素描的方法有多種,本文采用的是模擬ps彩色圖片轉爲素描圖片打印的過程。算法的原理流程如下: 1、去色; 2、複製去色圖層,並且反色;關於反色可以參考芒果額另一篇文章opencv濾鏡-反向濾鏡; 3、對反色圖像進行高斯

原创 opencv濾鏡-浮雕雕刻特效

浮雕和雕刻 浮雕 浮雕的算法爲,用當前像素點的前一個像素點灰度值減去後一個像素點的灰度值,所得結果加上128作爲當前像素點的灰度值。原理的公式爲 current(i, j) = current(j+1, j+1) - current(

原创 opencv濾鏡-PS羽化特效

羽化特效 羽化是ps術語,羽化原理是令選區內外銜接部分虛化,起到漸變的作用從而達到自然銜接的效果,是ps及其其它版本中的處理圖片的重要工具。羽化可使像素選區的邊緣變得模糊,有助於所選區域與周圍的像素混合. 圖 1:原圖 實現原理 羽化

原创 opencv(一)旋轉,鏡像

Mat rot_img(Mat src, int idx) {     //旋轉90度     if (idx == 1) {         transpose(src, src);         flip(src, src, 1);

原创 opencv濾鏡-連環畫濾鏡

連環畫濾鏡 連環畫濾鏡的公式爲: 圖 1:連環畫濾鏡公式 圖 2:原圖 代碼實現 // comic-filter.cpp : 此文件包含 "main" 函數。程序執行將在此處開始並結束。 // @mango #include<iost

原创 opencv濾鏡-單色濾鏡

單色濾鏡 單色濾鏡的原理非常簡單,rgb圖像有三個顏色分量,單色濾鏡只需要將其中兩個分量的值設置爲0,保留的顏色分量不修改即可。 圖 1:原圖 代碼實現 // single-color-filter.cpp // @mango #i

原创 opencv濾鏡-冰凍濾鏡

冰凍濾鏡 通過以下公式,對圖像rgb三個分量進行調整,可以到達冰凍的濾鏡特效。圖 1:冰凍濾鏡公式 圖 2:原圖 代碼實現 // frozen-filter.cpp : 冰凍濾鏡 // @mango #include<iostream

原创 OpenCV筆記一:imread函數

imread函數 imread函數作用 imread函數的作用非常簡單,從函數的名稱也可以看出來,imread爲image read的縮寫,即圖像讀取的意思,。那麼imread函數的作用就很明顯了,負責讀取圖像。其實學過matlab的同學

原创 opencv濾鏡-二值化實現黑白濾鏡

黑白濾鏡 黑白濾鏡非常簡單,顧名思義就是圖像只有黑色與白色,這實際上就是圖像的二值化。實現的原理也非常地簡單,設定一個閾值,假設爲128,判斷每個像素點的灰度值,大於128設爲255(對應白色),小於則設爲0(對應黑色)。 圖 1:原圖

原创 opencv濾鏡-反向濾鏡

反向濾鏡 一般的rgb圖像由紅色r、綠色g和藍色b三個顏色分量構成,三個分量的數值一般爲8位二進制數,數值範圍在 0,2550,255 。所以,將用255減去分量的數值所得的結果替換原來分量的數值稱爲色彩反向。例如一張圖像中某個像素點的r

原创 opencv濾鏡-懷舊濾鏡

懷舊濾鏡 通過對rgb三個顏色分量的調整可以將照片處理成一種老照片的懷舊風格。調整的公式如下 圖 1:懷舊濾鏡公式 圖 2:原圖 代碼實現 // vintage-filter.cpp : 懷舊濾鏡 // @mango #include

原创 opencv濾鏡-熔鑄濾鏡

熔鑄濾鏡 與懷舊濾鏡類似,通過對圖像rgb三個分量的調整變化,可以得到熔鑄濾鏡的效果。以下是調整的公式: 圖 1:熔鑄濾鏡公式 圖 2:原圖 代碼實現 // casting-filter.cpp : 熔鑄濾鏡 // @mango #i

原创 GDI函數 StretchDIBits,StretchBlt 縮小圖片會有黑點的問題解決辦法

StretchDIBits, StretchBlt 縮小圖片會有多餘的像素,對多餘像率的處理有三種方式。 1.不處理 ,會有黑點。 2.用SetStretchBltMode 函數 來設置爲 COLORONCOLOR 直接丟棄。 3.用Se