照例先放原圖~
我們用opencv自帶的方法實現灰度處理其實非常簡單,只要在讀取時,讀取模式設定為0就可以了。
import cv2
img0 = cv2.imread('test.png',0) # 0代表灰色,1代表彩色
cv2.imshow('image',img0)
cv2.waitkey(0)
效果如下:
我們使用cvtcolor()函式也可以達到相同的效果,**如下:
import cv2
img = cv2.imread('test.png',1)
dst = cv2.cvtcolor(img,cv2.color_bgr2gray)
cv2.imshow('image',dst)
cv2.waitkey(0)
當然,我們也可以自己寫**去完成灰度的處理:
import cv2
import numpy as np
img = cv2.imread('test.png',1)
imginfo = img.shape
height = imginfo[0]
width = imginfo[1]
dst = np.zeros((height,width,3),np.uint8)
for i in range(height):
for j in range(width):
(b,g,r) = img[i,j]
gray = (int(b) + int(g) +int(r))/3
dst[i,j] = np.uint8(gray)
cv2.imshow('image',dst)
cv2.waitkey(0)
處理效果如下:
效果如下,不過可以看到,某些地方的處理會稍微有些瑕疵。
OpenCV22(灰度共現矩陣 灰度共生矩陣)
理解它的最好辦法,就是我們來一起算一次。灰度共現 共生矩陣,其上元素,是灰度影象中某種形狀的畫素對,在全圖中出現的次數 或者是概率 不理解?沒關係,一會就明白了 可以用作影象的一種特徵,藉以區分不同的影象。灰度共現矩陣是方陣,矩陣的行數是影象灰度的等級。不理解?沒關係 ok,開始做題。假設乙個影象的...
基於opencv的灰度梯度共生矩陣
來自於gitee,直接上源 created by lihao on 2020 4 15.ifndef detect socks ggcm h define detect socks ggcm h include include include using namespace std using na...
OpenCV訪問畫素點的灰度值
1.mat矩陣數值的儲存方式 這裡以指標的方式訪問影象素為例 1 單通道 定義乙個單通道影象 cv mat img 1 320,640,cv 8uc1,scalar 0 對於單通道m i,j 即為第i行j列的其灰度值 程式中表示為 img 1.ptr i j 2 多通道 這裡以rgb影象為例,每乙個...