亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解在OpenCV中如何使用圖像像素

 更新時間:2022年03月03日 11:39:04   作者:woshicver  
像素是計算機視覺中圖像的重要屬性。它們是表示圖像中特定空間中光的顏色強度的數(shù)值,是圖像中數(shù)據(jù)的最小單位。本文將詳細為大家介紹如何在OpenCV中使用圖像像素,感興趣的可以了解一下

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

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

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

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

切片操作

腳本:使用切片操作獲取列表的子集。

# 切片字母列表
letters = ['a', 'b', 'c', 'd', 'e']
 
# 頭三個字母
first_three = letters[:3]
 
# 最后三個字母
last_three = letters[-3:]
 
# 得到第二個到第四個字母
second_to_fourth = letters[1:4]
 
# 顯示結(jié)果
print('First three letters: ', first_three)
print('Last three letters: ', last_three)
print('Second to fourth letters: ', second_to_fourth)

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

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

以圖像中的區(qū)域為目標的切片由圖像的兩個軸(水平(X)和垂直(Y))的起始值和結(jié)束值定義,格式如下:

image[startY: endY, startx:endX]

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

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

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

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

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

我用加納共和國國旗的圖像來證明這一點。在這里,我的目標是圖像中圍繞黑星的區(qū)域。

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

使用Matplotlib加載并顯示圖像

# 導(dǎo)入matplotlib的plot
import matplotlib.pyplot as plt
 
# 加載和顯示原始圖像
image = plt.imread('Flag_of_Ghana.png')
 
# 顯示圖片
plt.imshow("Original", image)
plt.plot()

輸出:加載的圖像及其X和Y坐標。

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

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

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

這幅圖像顯示了如何追蹤黑星周圍區(qū)域的坐標。

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

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ù)對圖像區(qū)域進行定位和切片,以進行各種圖像處理。

使用切片操作裁剪圖像

1.加載并顯示原始圖像

# 導(dǎo)入matplotlib的plot
import matplotlib.pyplot as plt
 
# 加載和顯示原始圖像
image = plt.imread('Flag_of_Ghana.png')
 
# 顯示圖片
plt.imshow("Original", image)
plt.plot()

輸出:顯示加載的圖像。

2.獲取圖像的空間維度

# 獲取圖像的空間尺寸
# 初始化
originY, originX = 0, 0
 
# 獲取圖像的高度和寬度
height, width = image.shape[:2]
 
# 計算圖像的中心
(centerX, centerY) = (width // 2, height // 2)
print('Image height: ', height)
print('Image width: ', width)
print('Center location: ', (centerY, centerX))

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

3.裁剪圖像

裁剪出圖像的左上角

# 裁剪圖像的左上角
# 高度從原點到中心
# 寬度從原點到中心
 
top_left = image[originY:centerY, originX:centerX]
cv2.imshow("Top-Left Corner", top_left)
cv2.waitKey(0)

輸出:圖像的左上角

裁剪出圖像的右上角

# 裁剪右上角
# 高度從原點到中心
# 寬度從中心到右上角(寬度)
 
top_right = image[originY:centerY, centerX:width]
cv2.imshow("Top-Right Corner", top_right)
cv2.waitKey(0)

輸出:圖像的右上角

裁剪出圖像的左下角

# 裁剪左下角
# 高度從中心到左下角(高度)
# 寬度從中心到右上角(寬度)
 
bottom_left = image[centerY:height, originX:centerX]
cv2.imshow("Bottom-Left Corner", bottom_left)
cv2.waitKey(0)

輸出:圖像的左下角

裁剪出圖像的右下角

# 裁剪右下角
# 高度從中心到左下角(高度)
# 寬度從中心到右上角(寬度)
 
bottom_right = image[centerY:height, centerX:width]
cv2.imshow("Bottom-Right Corner", bottom_right)
cv2.waitKey(0)

輸出:左下角。

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

# 設(shè)置原始圖像的左上角為綠色
image[originY:centerY, originX:centerX] = (0, 255, 0)
 
# 顯示更新后的圖像
cv2.imshow("Updated", image)
cv2.waitKey(0)

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

總結(jié)

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

以上就是詳解在OpenCV中如何使用圖像像素的詳細內(nèi)容,更多關(guān)于OpenCV圖像像素的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python全棧之列表數(shù)據(jù)類型詳解

    Python全棧之列表數(shù)據(jù)類型詳解

    這篇文章主要給大家介紹了關(guān)于Python全棧之列表數(shù)據(jù)類型的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Python調(diào)用百度AI實現(xiàn)顏值評分功能

    Python調(diào)用百度AI實現(xiàn)顏值評分功能

    這篇文章主要介紹了應(yīng)用百度AI的人臉識別功能對年齡、性別、顏值等進行識別,代碼具有一定的學(xué)習(xí)價值,感興趣的朋友跟隨小編一起看看吧
    2021-11-11
  • 為Python程序添加圖形化界面的教程

    為Python程序添加圖形化界面的教程

    這篇文章主要介紹了為Python程序添加圖形化界面的教程,圖形化界面編程是開發(fā)Python本地應(yīng)用的必備,需要的朋友可以參考下
    2015-04-04
  • python實現(xiàn)apahce網(wǎng)站日志分析示例

    python實現(xiàn)apahce網(wǎng)站日志分析示例

    這篇文章主要介紹了python實現(xiàn)apahce網(wǎng)站日志分析示例,需要的朋友可以參考下
    2014-04-04
  • Python如何使用pymongo連接MongoDB數(shù)據(jù)庫并進行相關(guān)操作

    Python如何使用pymongo連接MongoDB數(shù)據(jù)庫并進行相關(guān)操作

    PyMongo是驅(qū)動程序,使python程序能夠使用Mongodb數(shù)據(jù)庫,使用python編寫而成,下面這篇文章主要給大家介紹了關(guān)于Python如何使用pymongo連接MongoDB數(shù)據(jù)庫并進行相關(guān)操作的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • 詳解在Python中使用Torchmoji將文本轉(zhuǎn)換為表情符號

    詳解在Python中使用Torchmoji將文本轉(zhuǎn)換為表情符號

    這篇文章主要介紹了詳解在Python中使用Torchmoji將文本轉(zhuǎn)換為表情符號,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Python實現(xiàn)隨機漫步功能

    Python實現(xiàn)隨機漫步功能

    隨機漫步生成是無規(guī)則的,是系統(tǒng)自行選擇的結(jié)果。接下來通過本文給大家介紹Python實現(xiàn)隨機漫步功能,感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-07-07
  • Python實現(xiàn)的樸素貝葉斯算法經(jīng)典示例【測試可用】

    Python實現(xiàn)的樸素貝葉斯算法經(jīng)典示例【測試可用】

    這篇文章主要介紹了Python實現(xiàn)的樸素貝葉斯算法,結(jié)合實例形式詳細分析了Python實現(xiàn)與使用樸素貝葉斯算法的具體操作步驟與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2018-06-06
  • selenium3+python3環(huán)境搭建教程圖解

    selenium3+python3環(huán)境搭建教程圖解

    這篇文章主要介紹了selenium3+python3環(huán)境搭建教程圖解,需要的朋友可以參考下
    2018-12-12
  • Windows10下Tensorflow2.0 安裝及環(huán)境配置教程(圖文)

    Windows10下Tensorflow2.0 安裝及環(huán)境配置教程(圖文)

    這篇文章主要介紹了Windows10下Tensorflow2.0 安裝及環(huán)境配置教程(圖文),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評論