日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

OpenCV-Python學習筆記(一):圖像讀入、顯示、保存,BGR模式轉

系統 1845 0

使用OpenCV-Python實現圖像讀入、顯示與保存:

            
              # -*- coding: utf-8 -*-

import cv2
from matplotlib import pyplot as plt

# # 第二個參數,0為灰度模式顯示,1為彩色圖像,默認值為1
# img0 = cv2.imread(r'D:\OpenCV_Python\chepai.jpg', 0)
# img1 = cv2.imread(r'D:\OpenCV_Python\chepai.jpg', 1)
# 或者如下:
img0 = cv2.imread(r'D:\OpenCV_Python\chepai.jpg', cv2.IMREAD_GRAYSCALE)
img1 = cv2.imread(r'D:\OpenCV_Python\chepai.jpg', cv2.IMREAD_COLOR)

# using opencv to show image
cv2.imshow('grayImage', img0)
cv2.imshow('bgrImage', img1)

k = cv2.waitKey(0)
if k == 27:         # wait for Esc key to exit
    cv2.destroyAllWindows()
elif k == ord('s'):
    cv2.imwrite('chepai_grayimage.jpg', img0)   # wait for 's' key to save and exit
    cv2.destroyAllWindows()

# using matplotlib to show image
# plt.imshow(img0, cmap='gray', interpolation='bicubic')
# plt.xticks([]), plt.yticks([])   # to hide tick values on X and Y axis
# plt.show()
            
          

注意: OpenCV 加載的彩色圖像是 BGR 模式,但?Matplotib 是 RGB模式。所以彩色圖像如果已經被 OpenCV 讀入,那它將不會被 Matplotib 正確顯示。如下圖所示,同一幅彩色圖像,由OpenCV讀入,左邊圖像由cv2.imshow()函數顯示,為正常顏色;右邊圖像調用Matplotib的函數顯示,顏色明顯不對。

OpenCV-Python學習筆記(一):圖像讀入、顯示、保存,BGR模式轉RGB模式_第1張圖片 OpenCV-Python學習筆記(一):圖像讀入、顯示、保存,BGR模式轉RGB模式_第2張圖片

由于很多時候要用到matplotlib操作圖像,因此就需要解決 彩色圖像由BGR模式轉RGB模式 的問題。在網上搜索了下,找到以下幾種解決方法:

# 方法一
b, g, r = cv2.split(img)
img1 = cv2.merge([r, g, b])

# 方法二
img2 = img[:, :, :: -1]? ?或者? ?img2 = img[..., :: -1]

# 方法三
img3 = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

下面的代碼應用以上方法,做出驗證:

            
              import cv2
from matplotlib import pyplot as plt

# 由OpenCV讀入彩色圖像
img = cv2.imread(r'D:\OpenCV_Python\chepai.jpg')

# 方法一
b, g, r = cv2.split(img)
img1 = cv2.merge([r, g, b])

# 方法二
img2 = img[:, :, :: -1]
# img2 = img[..., :: -1]

# 方法三
img3 = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

# 調用matplotlib顯示
plt.subplot(221); plt.imshow(img)
plt.subplot(222); plt.imshow(img1)
plt.subplot(223); plt.imshow(img2)
plt.subplot(224); plt.imshow(img3)
plt.show()

            
          

OpenCV-Python學習筆記(一):圖像讀入、顯示、保存,BGR模式轉RGB模式_第3張圖片

由上圖可知,三種方法都可以解決 彩色圖像由BGR模式轉RGB模式的問題。

參考文獻:https://stackoverflow.com/questions/15072736/extracting-a-region-from-an-image-using-slicing-in-python-opencv/15074748#15074748

(注:原圖像來源于網絡,侵刪)

?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 靖江市| 金堂县| 民乐县| 富宁县| 平阴县| 连城县| 博兴县| 梅河口市| 承德市| 泾川县| 十堰市| 商都县| 泾源县| 宣恩县| 望奎县| 简阳市| 章丘市| 富源县| 南和县| 辰溪县| 靖州| 阿巴嘎旗| 德格县| 佛学| 旌德县| 宣恩县| 晋宁县| 九寨沟县| 外汇| 涿州市| 云龙县| 神木县| 墨竹工卡县| 永安市| 西华县| 高密市| 深州市| 凉山| 龙岩市| 无极县| 光泽县|