黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

OpenCV-Python學(xué)習(xí)筆記(一):圖像讀入、顯示、保存,BGR模式轉(zhuǎn)

系統(tǒng) 2000 0

使用OpenCV-Python實(shí)現(xiàn)圖像讀入、顯示與保存:

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

import cv2
from matplotlib import pyplot as plt

# # 第二個參數(shù),0為灰度模式顯示,1為彩色圖像,默認(rèn)值為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模式。所以彩色圖像如果已經(jīng)被 OpenCV 讀入,那它將不會被 Matplotib 正確顯示。如下圖所示,同一幅彩色圖像,由OpenCV讀入,左邊圖像由cv2.imshow()函數(shù)顯示,為正常顏色;右邊圖像調(diào)用Matplotib的函數(shù)顯示,顏色明顯不對。

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

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

# 方法一
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)

下面的代碼應(yīng)用以上方法,做出驗(yàn)證:

            
              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)

# 調(diào)用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學(xué)習(xí)筆記(一):圖像讀入、顯示、保存,BGR模式轉(zhuǎn)RGB模式_第3張圖片

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

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

(注:原圖像來源于網(wǎng)絡(luò),侵刪)

?


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論