OpenCV for Python之改變圖片顏色
Opencv4 官方文檔 : https://docs.opencv.org/4.2.0/
Opencv4 for Python中文文檔點擊下載:Opencv4 for Python 中文文檔
1.環境
Python 3.7 + OpenCV 4.2
2 直接修改通道值
改變圖片顏色,其實就是修改通道值.
def create_ima():
#三通道
ima = np.zeros([400,400,3],np.uint8) #黑
cv.imshow("black",ima)
ima[:,:,0] = np.ones([400,400]) * 255 # 藍色
cv.imshow("deepBlue",ima)
ima[:,:,1] = np.ones([400,400]) * 255 # 綠色
cv.imshow("green",ima)
ima[:,:,2] = np.ones([400,400]) * 255 #兩個通道變成255,紅色
cv.imshow("",ima)
#單通道
ima = np.ones([400,400,1]) * 255 #白色 等於 ima = ima * 255
# ima = ima * 127 #灰色
ima = ima * 0 #黑色
cv.imshow("create ima",ima)
m1 = np.ones([3,3],np.uint8)
m1.fill(12222.888) #
print(m1)
m2 = m1.reshape([1,9]) #轉換形狀
print(m2)
cv.waitKey(0)
3.與、或、非、異或操作
- bitwise_and是對二進制數據進行“與”操作,即對圖像(灰度圖像或彩色圖像均可)每個像素值進行二進制“與”操作,1&1=1,1&0=0,0&1=0,0&0=0
- bitwise_or是對二進制數據進行“或”操作,即對圖像(灰度圖像或彩色圖像均可)每個像素值進行二進制“或”操作,1|1=1,1|0=1,0|1=1,0|0=0
- bitwise_not是對二進制數據進行“非”操作,即對圖像(灰度圖像或彩色圖像均可)每個像素值進行二進制“非”操作,1=0,0=1
- bitwise_xor是對二進制數據進行“異或”操作,即對圖像(灰度圖像或彩色圖像均可)每個像素值進行二進制“異或”操作,11=0,10=1,01=1,00=0
def inverse(filepath):
#顏色取反,拿二值化圖片最明顯了
ima = cv.imread(filePath)
cv.imshow("sourcePic",ima)
dst = cv.bitwise_not(ima)
cv.imshow("顏色取反",dst)
cv.waitKey(0)
if __name__ == "__main__":
print(" ")
filePath = "./files/images/threshold.jpg"
inverse(filePath)
轉載請註明轉自:https://leejason.blog.csdn.net/article/details/106434911