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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章