4 1 型別轉換

2021-10-08 01:17:35 字數 1870 閱讀 9350

影象型別轉換就是把影象從一種型別轉換成另一種型別。

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...