(? ?_?)?[Python3 OpenCV4]2.圖像操作

      網友投稿 1001 2025-03-31

      文章目錄

      接口文檔

      cv2.imread() 讀取圖片

      cv2.imshow() 使用窗口顯示圖片

      cv2.imwrite()保存圖片

      cv.namedWindow()

      獲取和修改像素點值

      圖片屬性

      ROI

      通道分割與合并

      附件圖片

      接口文檔

      Mat Object

      cv2.imread()

      cv2.imshow()

      cv2.imwrite()

      cv.namedWindow()

      cv2.imread() 讀取圖片

      從文件加載圖像

      支持格式如下:

      Windows位圖-.bmp,.dib(始終支持)

      JPEG文件-.JPEG,.jpg,*.jpe(參見注釋部分)

      JPEG 2000文件-*.jp2(請參見注釋部分)

      便攜式網絡圖形-*.png(見注釋部分)

      WebP-*.WebP(參見注釋部分)

      便攜式圖像格式-.pbm、.pgm、.ppm.pxm、*.pnm(始終支持)

      太陽光柵-.sr,.ras(始終支持)

      TIFF文件-.TIFF,.tif(請參見注釋部分)

      OpenEXR圖像文件-*.exr(請參閱注釋部分)

      Radiance HDR-.HDR,.pic(始終支持)

      import cv2 print(cv2.__version__) # 加載灰度圖 img = cv2.imread('lena.jpg', 0)

      1

      2

      3

      4

      參數如圖,詳情可以查找官方文檔

      cv2.IMREAD_UNCHANGED:原圖加載,使用alpha通道,否則將被裁剪(-1)

      cv2.IMREAD_GRAYSCALE:灰度圖(0)

      cv2.IMREAD_COLOR:彩色圖,默認值(1)

      cv2.IMREAD_UNCHANGED:包含透明通道的彩色圖(-1)

      cv2.IMREAD_ANYDEPTH:如果已設置,則在輸入具有相應深度時返回16位/32位圖像,否則將其轉換為8位。

      其余的自己可以翻譯去看

      調用舉例

      import cv2 print(cv2.__version__) # 加載灰度圖 img = cv2.imread('lena.jpg', cv2.IMREAD_GRAYSCALE)

      1

      2

      3

      4

      cv2.imshow() 使用窗口顯示圖片

      參數1 窗口名

      參數2 圖片Mat對象

      import cv2 print(cv2.__version__) # 加載灰度圖 img = cv2.imread('lena.jpg', cv2.IMREAD_GRAYSCALE) # 使用cv2.imshow()顯示圖片,窗口會自適應圖片的大小 cv2.imshow('lena', img) cv2.waitKey(0)

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      cv2.imwrite()保存圖片

      cv2.imwrite('lena_gray.jpg', img)

      1

      cv.namedWindow()

      import cv2 print(cv2.__version__) # 加載灰度圖 img = cv2.imread('lena.jpg', cv2.IMREAD_GRAYSCALE) #定義窗口 cv2.namedWindow('lena2', cv2.WINDOW_NORMAL) # 顯示窗口 cv2.imshow('lena2', img) cv2.waitKey(0)

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      可傳入參數介紹

      WINDOW_NORMAL或WINDOW_AUTOSIZE:WINDOW_NORMAL允許您調整窗口大小,而WINDOW_AUTOSIZE則自動調整窗口大小以適合顯示的圖像(請參見imshow),并且您不能手動更改窗口大小。

      WINDOW_FREERATIO或WINDOW_KEEPRATIO:WINDOW_FREERATIO調整圖像時不考慮其比率,而WINDOW_KEEPRATIO保持圖像比率。

      WINDOW_GUI_NORMAL或WINDOW_GUI_EXPANDED:WINDOW_GUI_NORMAL是在沒有狀態欄和工具欄的情況下繪制窗口的舊方法,而WINDOW_GUI_EXPANDED是一種新的增強型GUI。默認情況下,flags==WINDOW_AUTOSIZE | WINDOW_KEEPRATIO | WINDOW_GUI_EXPANDED

      獲取和修改像素點值

      import cv2 img = cv2.imread('lena.jpg') #取坐標下的像素點 px = img[100, 90] print(px) # [163 184 205] # 只獲取藍色blue通道的值 px_blue = img[100, 90, 0] print(px_blue) # 163 #高性能方式 BGR print(img.item(100,90,0)) img[100, 90] = [255, 255, 255]

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      圖片屬性

      import cv2 img = cv2.imread('lena.jpg') print(img.shape) # (263, 247, 3) # 形狀中包括行數、列數和通道數 height, width, channels = img.shape print(img.dtype) print(img.size)

      1

      2

      3

      4

      5

      6

      7

      8

      9

      ROI

      感興趣區域

      import cv2 img = cv2.imread('lena.jpg') # 截取臉部ROI face = img[100:200, 115:188] cv2.imshow('face', face) cv2.waitKey(0)

      1

      2

      (? ?_?)?[Python3 OpenCV4]2.圖像操作

      3

      4

      5

      6

      通道分割與合并

      通道分割與合并

      彩色圖的BGR三個通道是可以分開單獨訪問的,也可以將單獨的三個通道合并成一副圖像。分別使用cv2.split()和cv2.merge():

      import cv2 img = cv2.imread('lena.jpg') b, g, r = cv2.split(img) cv2.imshow('lena-b', b) cv2.imshow('lena-g', g) cv2.imshow('lena-r', r) img = cv2.merge((b, g, r)) cv2.imshow('lena-rgb', img) cv2.waitKey(0)

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      split()函數比較耗時,更高效的方式是用numpy中的索引,如提取B通道:·

      import cv2 img = cv2.imread('lena.jpg') b = img[:, :, 0] g = img[:, :, 1] r = img[:, :, 2] cv2.imshow('b', b) cv2.imshow('g', g) cv2.imshow('r', r) cv2.waitKey(0)

      1

      2

      3

      4

      5

      6

      7

      8

      9

      附件圖片

      OpenCV Python 圖像處理

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:天津工廠精益生產管理平臺(天津精益管制造)
      下一篇:262_Mongodb_備份恢復
      相關文章
      亚洲日韩精品无码一区二区三区| 国产亚洲精品美女久久久久| 亚洲国产成人精品女人久久久| 亚洲综合激情五月丁香六月| 久久精品国产99国产精品亚洲| 亚洲欧洲国产经精品香蕉网| 亚洲成电影在线观看青青| 亚洲综合亚洲国产尤物| 亚洲综合亚洲国产尤物| 亚洲激情视频网站| 亚洲成人午夜电影| 亚洲人成激情在线播放| 亚洲人成色777777精品| 国产综合精品久久亚洲| 国产成人亚洲精品91专区高清| 亚洲午夜福利在线视频| 亚洲最大无码中文字幕| 亚洲欧美日韩一区二区三区在线| 精品国产日韩久久亚洲| 亚洲欧洲AV无码专区| 亚洲精品久久无码| 婷婷亚洲综合一区二区 | 亚洲一本到无码av中文字幕| 国产精品亚洲综合久久| 在线观看亚洲AV日韩A∨| 亚洲人av高清无码| 九九精品国产亚洲AV日韩| 亚洲AV无码专区日韩| 国产日产亚洲系列最新| 亚洲人成色77777| 无码专区—VA亚洲V天堂| 亚洲第一成年人网站| 亚洲欧洲另类春色校园网站| 亚洲人成电影网站色www| 亚洲国产专区一区| 国产精一品亚洲二区在线播放| 香蕉视频在线观看亚洲| 亚洲人成电影在线观看网| 亚洲av无码专区在线观看亚| 亚洲麻豆精品国偷自产在线91| 亚洲中文字幕无码久久2017|