影象型別轉換就是把影象從一種型別轉換成另一種型別。
opencv提供了200多種型別轉換。我們這次學三個。
型別有:
cv2.color_bgr2gray //彩色影象轉灰度影象
cv2.color_bgr2rgb //bgr轉rgb
cv2.color_gray2bgr //灰度轉彩色
使用方法:
b = cv2.cvtcolor(a, cv2.color_bgr2gray) //a是影象源,第二個引數是型別。【例1】
b = cv2.cvtcolor(a, cv2.color_bgr2rgb) //【例2】
b = cv2.cvtcolor(a, cv2.color_gray2bgr) //【例3】
例1:彩色影象轉灰度影象
'''影象轉換
'''import cv2
image = cv2.imread("image\\lenacolor.png")
gray = cv2.cvtcolor(image, cv2.color_bgr2gray)
cv2.imshow("image", image)
cv2.imshow("gray", gray)
cv2.waitkey()
cv2.destroyallwindows()
結果:
例2:彩色影象轉換成rgb影象
'''影象轉換
'''import cv2
image = cv2.imread("image\\lenacolor.png")
rgb = cv2.cvtcolor(image, cv2.color_bgr2rgb) #彩色影象轉換成rgb影象
r,g,b = cv2.split(rgb) #把rgb三個通道分離出來,然後合併一下看看是不是確實轉成了rgb三個通道
result = cv2.merge([b,g,r]) #合併
cv2.imshow("image", image)
cv2.imshow("rgb", rgb)
cv2.imshow("merge",result) #如果得到了原圖,說明確實轉成了rgb影象。
cv2.waitkey()
cv2.destroyallwindows()
結果:
例3:灰度轉彩色
'''影象轉換
'''import cv2
image = cv2.imread("image\\lena256.bmp",cv2.imread_unchanged)
result = cv2.cvtcolor(image, cv2.color_gray2bgr) #灰度轉彩色影象
print(image.shape)
print(result.shape)
cv2.imshow("image", image)
cv2.imshow("result", result)
cv2.waitkey()
cv2.destroyallwindows()
結果:
可以發現result,是3個通道的影象。
41 型別轉換函式
標準資料型別之間會進行隱式的型別安全轉換,規則如下 char short int unsigned int long unsigned long float double 小轉大 include include using namespace std int main else cout sizeo...
41 型別轉換函式 上
標準資料型別之間會進行隱式的型別安全轉換 轉換規則如下 char short int unsigned int long unsigned long float double 範例 有趣的隱式型別轉換 include include using namespace std int main int ...
41 型別轉換函式(上)
注 部落格中內容主要來自 狄泰軟體學院 部落格僅當私人筆記使用。測試環境 ubuntu 10.10 gcc版本 9.2.0 一 再論型別轉換 1 標準資料型別之間會進行隱式的型別安全轉換 2 轉換規則如下 實驗分析 有趣的隱式型別轉換 41 1.cpp include include using n...