1. 程式人生 > 其它 >OpenCV入門基礎操作(三)----利用numpy對影象進行處理

OpenCV入門基礎操作(三)----利用numpy對影象進行處理

技術標籤:影象處理opencvpython計算機視覺

利用numpy對影象進行處理


前言

之前的我們使用opencv來對影象進行處理的,學習瞭如何讀取影象和修改畫素值,除了使用opencv我們也可以用numpy包,從而對影象進行處理。

一、讀取影象

讀取畫素的時候,利用的是item函式,使用的常用命令就是:返回值=影象.item(位置引數),如果為灰度影象,比如

p=img.item(88,142)
print(p)

這樣就讀取到了這張圖片位於第88行,第142列的位置的值;對於BGR影象時,我們就需要另外加上對應的通道值,比如:

blue=img.item(78,85,0)
geren=img.item(78,125,1)
red=img.item(78,125,2)
print(blue)
print(green)
print(red)

二、修改畫素值

修改畫素的時候,我們就用到了itemset這個函式,它的應用語法為:
影象名.itemset(位置,新值)
對於灰度影象而言,img.itemset((88,99),255)
對於BGR影象,可以這樣設定:

img.itemset((88,99,0),255)
img.itemset((88,99,1),255)
img.itemset((88,99,2),255)

程式碼示例

利用numpy包修改灰度影象的值:

import cv2
import numpy as np
i=cv2.imread("D:\\Deeplearning\\lesson\\chapter2\\image\\lena256.bmp",cv2.IMREAD_UNCHANGED)
print(i.item(100,100))
i.itemset((100,100),255)
print(i.item(100,100))

結果可以看到原先的圖象值為73,現已經修改為255.
在這裡插入圖片描述
修改彩色BGR影象時:

import cv2
import numpy as np
i=cv2.imread(
"D:\\Deeplearning\\lesson\\chapter2\\image\\lenacolor.png",cv2.IMREAD_UNCHANGED) print(i.item(100,100,0)) i.itemset((100,100,0),255) print(i.item(100,100,0)) print(i.item(100,100,1)) i.itemset((100,100,1),255) print(i.item(100,100,1)) print(i.item(100,100,2)) i.itemset((100,100,2),255) print(i.item(100,100,2))

執行之後結果如下:
在這裡插入圖片描述
圖中我們知道,分別顯示出來彩色影象的每個通道的原始值和修改後的畫素值。

總結

提示:
以上就是今天要講的內容,本文僅僅簡單介紹了利用numpy包對影象進行了讀取和修改,主要用到的是item和itemset函式,對灰度影象和彩色影象進行了修改,尤其要注意的是BGR影象的通道,主要有三種通道,注意在設定的時候看清楚,避免出錯。