訂閱
糾錯(cuò)
加入自媒體

在OpenCV中使用圖像像素

像素是計(jì)算機(jī)視覺(jué)中圖像的重要屬性。它們是表示圖像中特定空間中光的顏色強(qiáng)度的數(shù)值,是圖像中數(shù)據(jù)的最小單位。

圖像中的像素總數(shù)是高度、寬度和通道的乘積。

由于OpenCV中的圖像被讀取為像素值的Numpy數(shù)組,因此可以使用數(shù)組切片操作獲取并處理由該區(qū)域的像素表示的圖像區(qū)域。

切片操作用于檢索序列子集,如列表、元組和數(shù)組,因此可用于獲取圖像區(qū)域的像素值,以便進(jìn)行編輯、格式化或裁剪等處理。

切片操作

image.png

請(qǐng)注意,我使用索引值對(duì)字母列表進(jìn)行切片。例如,傳遞起始索引1(列表中第二個(gè)字母的索引)和4將返回列表的一個(gè)片段,從第二個(gè)值到第四個(gè)值。

由于索引值用于以這種方式檢索子集,因此它們也用于定位和檢索圖像中感興趣的區(qū)域。

以圖像中的區(qū)域?yàn)槟繕?biāo)的切片由圖像的兩個(gè)軸(水平(X)和垂直(Y))的起始值和結(jié)束值定義,格式如下:

image[startY: endY, startx:endX]

它返回所需感興趣區(qū)域的(圖像像素的)Numpy數(shù)組。

那么,我們?nèi)绾未_定感興趣區(qū)域的X軸和Y軸的起始值和結(jié)束值?

這些值(startX、endX、startY、endY)是映射出感興趣區(qū)域的坐標(biāo)值。

使用OpenCV顯示時(shí),這些值不會(huì)顯示在圖像旁邊,但我們可以使用其他應(yīng)用程序(如Photoshop、Corel Draw、Paint e.t.c)或其他python可視化庫(kù)(如Matplotlib)來(lái)顯示具有X和Y坐標(biāo)值的圖像。

一如既往,這在實(shí)踐中得到了更好的理解。讓我們使用matplotlib顯示一個(gè)圖像。pyplot,我們可以從中檢索坐標(biāo),這些坐標(biāo)映射出圖像中的目標(biāo)感興趣區(qū)域。

我用加納共和國(guó)國(guó)旗的圖像來(lái)證明這一點(diǎn)。在這里,我的目標(biāo)是圖像中圍繞黑星的區(qū)域。

獲取感興趣區(qū)域的坐標(biāo)值

1.使用Matplotlib加載并顯示圖像。

image.png

輸出:加載的圖像及其X和Y坐標(biāo)。

正如你所看到的,plt.imshow函數(shù)返回讀取的圖像以及x和y軸的坐標(biāo)值。

然后,我們可以檢索感興趣區(qū)域(黑星)的起始和結(jié)束坐標(biāo)值。

追蹤黑星區(qū)域的坐標(biāo)值

這幅圖像顯示了如何追蹤黑星周?chē)鷧^(qū)域的坐標(biāo)。

我們可以從圖像中檢索坐標(biāo)(startY(y1)、endY(y2)、startX(x1)、endX(x2))。然后,我們可以定義兩個(gè)軸的起點(diǎn)和終點(diǎn)坐標(biāo),并裁剪為:

image[y1: y2, x1:x2]

if we get y1, y2 = [145, 295] and x1, x2 = [245, 400]

那么繪制出黑星的區(qū)域?qū)⑹牵?/p>

black_star = image[145:295, 245:400]

這將返回映射感興趣區(qū)域(本例中為黑星)的像素值(在Numpy數(shù)組中)。

現(xiàn)在,我們可以利用這種技術(shù)對(duì)圖像區(qū)域進(jìn)行定位和切片,以進(jìn)行各種圖像處理。

使用切片操作裁剪圖像

1.加載并顯示原始圖像

image.png

輸出:顯示加載的圖像。

2.獲取圖像的空間維度

image.png

輸出:顯示圖像的空間尺寸。

3.裁剪圖像

裁剪出圖像的左上角

image.png

輸出:圖像的左上角

裁剪出圖像的右上角

image.png

輸出:圖像的右上角

裁剪出圖像的左下角

image.png

輸出:圖像的左下角

裁剪出圖像的右下角

image.png

輸出:左下角。

4.使用尺寸將部分圖像設(shè)置為特定顏色。

image.png

輸出:將左上角設(shè)置為綠色

總結(jié)

圖像像素是表示圖像中顏色強(qiáng)度的數(shù)值。使用OpenCV獲取和設(shè)置不同圖像處理的圖像像素的過(guò)程基于Numpy陣列的切片操作。切片像素值在裁剪、重置、復(fù)制或增強(qiáng)圖像時(shí)非常有用。

感謝閱讀!

       原文標(biāo)題 : 在OpenCV中使用圖像像素

聲明: 本文由入駐維科號(hào)的作者撰寫(xiě),觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問(wèn)題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號(hào)
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯(cuò)
x
*文字標(biāo)題:
*糾錯(cuò)內(nèi)容:
聯(lián)系郵箱:
*驗(yàn) 證 碼:

粵公網(wǎng)安備 44030502002758號(hào)