OpenCV 灰度處理

2021-09-24 04:45:27 字數 1747 閱讀 5278

照例先放原圖~

我們用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影象為例,每乙個...