OpenCV半小時(shí)掌握基本操作之圖像裁剪融合
【OpenCV】⚠️高手勿入! 半小時(shí)學(xué)會(huì)基本操作 ⚠️圖像裁剪融合
概述
OpenCV 是一個(gè)跨平臺(tái)的計(jì)算機(jī)視覺(jué)庫(kù), 支持多語(yǔ)言, 功能強(qiáng)大. 今天小白就帶大家一起攜手走進(jìn) OpenCV 的世界.
圖像裁剪
cv2.resize
能幫助我們讀圖像進(jìn)行裁剪.
格式:
cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]])
- src: 需要裁剪的圖片
- dsize: 裁剪的大小
- fx: x 軸比例
- fy: y 軸比例
原圖:
例子:
# 讀取數(shù)據(jù) dog = cv2.imread("dog.jpg") # 拉伸比例1:3 dog_resize = cv2.resize(dog, (0, 0), fx=1, fy=3) cv2.imshow("dog_resize", dog_resize) cv2.waitKey(0) cv2.destroyAllWindows()
輸出結(jié)果:
數(shù)值計(jì)算
# 讀取圖片 img1 = cv2.imread("picture.jpg") img2 = cv2.imread("picture2.jpg") img1 = cv2.resize(img1, (382, 383)) # 轉(zhuǎn)換成一樣大小 # 調(diào)試輸出 print("image 1:\n", img1[:5, :, 0]) print("image 2:\n", img2[:5, :, 0]) # 加10 img_new = img1 + 10 print("image_new:\n", img_new[:5, :, 0]) # 超過(guò)255的變成數(shù)值%256 img_add = img1 + img2 print("image_add:\n", img_add[:5, :, 0]) # 超過(guò)255的變成255 img_add2 =cv2.add(img1, img2) print("image_add2:\n", img_add2[:5, :, 0])
輸出結(jié)果:
image 1:
[[206 206 206 ... 206 206 206]
[208 207 208 ... 207 207 208]
[208 207 208 ... 208 208 208]
[209 208 209 ... 209 209 209]
[209 209 209 ... 209 209 209]]
image 2:
[[187 187 187 ... 223 222 222]
[187 187 187 ... 224 224 223]
[187 187 187 ... 225 225 224]
[187 187 187 ... 225 225 225]
[187 187 187 ... 223 224 225]]
image_new:
[[216 216 216 ... 216 216 216]
[218 217 218 ... 217 217 218]
[218 217 218 ... 218 218 218]
[219 218 219 ... 219 219 219]
[219 219 219 ... 219 219 219]]
image_add:
[[137 137 137 ... 173 172 172]
[139 138 139 ... 175 175 175]
[139 138 139 ... 177 177 176]
[140 139 140 ... 178 178 178]
[140 140 140 ... 176 177 178]]
image_add2:
[[255 255 255 ... 255 255 255]
[255 255 255 ... 255 255 255]
[255 255 255 ... 255 255 255]
[255 255 255 ... 255 255 255]
[255 255 255 ... 255 255 255]]
圖像融合
cv2.addWeighted
可以幫助我們?nèi)诤蟽蓮垐D片.
格式:
cv2.addWeighted(src1, alpha, src2, beta, gamma, dst=None, dtype=None)
例子:
# 讀取數(shù)據(jù) cat = cv2.imread("cat.jpg") dog = cv2.imread("dog.jpg") # 輸出維度 print(cat.shape) # (554, 640, 3) print(dog.shape) # (611, 640, 3) # 裁剪大小 dog = cv2.resize(dog, (640, 554)) print(dog.shape) # (554, 640, 3) # 圖像融合 res = cv2.addWeighted(cat, 0.7, dog, 0.3, 0) cv2.imshow("res", res) cv2.waitKey(0) cv2.destroyAllWindows()
輸出結(jié)果:
到此這篇關(guān)于OpenCV半小時(shí)掌握基本操作之圖像裁剪融合的文章就介紹到這了,更多相關(guān)OpenCV圖像裁剪融合內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- OpenCV半小時(shí)掌握基本操作之圖像處理
- opencv-python基本圖像處理詳解
- OpenCV圖像處理基本操作詳解
- Opencv圖像處理之詳解掩膜mask
- 基于python的opencv圖像處理實(shí)現(xiàn)對(duì)斑馬線的檢測(cè)示例
- Python+OpenCV圖像處理——圖像二值化的實(shí)現(xiàn)
- OpenCV半小時(shí)掌握基本操作之分水嶺算法
- OpenCV半小時(shí)掌握基本操作之傅里葉變換
- OpenCV半小時(shí)掌握基本操作之圖像輪廓
- OpenCV半小時(shí)掌握基本操作之直方圖
- OpenCV半小時(shí)掌握基本操作之模板匹配
- OpenCV半小時(shí)掌握基本操作之圓圈檢測(cè)
- OpenCV半小時(shí)掌握基本操作之對(duì)象測(cè)量
- OpenCV半小時(shí)掌握基本操作之圖像基礎(chǔ)操作
相關(guān)文章
python中復(fù)數(shù)的共軛復(fù)數(shù)知識(shí)點(diǎn)總結(jié)
在本篇內(nèi)容里小編給大家整理的是關(guān)于python中復(fù)數(shù)的共軛復(fù)數(shù)知識(shí)點(diǎn)總結(jié),有需要的朋友們可以學(xué)習(xí)下。2020-12-12剖析Python的Tornado框架中session支持的實(shí)現(xiàn)代碼
這篇文章主要介紹了剖析Python的Tornado框架中session支持的實(shí)現(xiàn)代碼,這樣就可以使用Django等框架中大家所熟悉的session了,需要的朋友可以參考下2015-08-08python中@property的作用和getter setter的解釋
這篇文章主要介紹了python中@property的作用和getter setter的解釋,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12JSON Web Tokens的實(shí)現(xiàn)原理
本文主要介紹了JSON Web Tokens的實(shí)現(xiàn)原理。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-04-04基于Pyinstaller打包Python程序并壓縮文件大小
這篇文章主要介紹了基于Pyinstaller打包Python程序并壓縮文件大小,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05python實(shí)現(xiàn)的簡(jiǎn)單RPG游戲流程實(shí)例
這篇文章主要介紹了python實(shí)現(xiàn)的簡(jiǎn)單RPG游戲流程,實(shí)例分析了Python實(shí)現(xiàn)RPG游戲流程的常用判定技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-06-06