最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

OpenCV系列__chapter2

2023-07-25 21:00 作者:儒雅隨和的老頑童  | 我要投稿

博客鏈接:

https://blog.csdn.net/qq_35732321/article/details/131921406?spm=1001.2014.3001.5502



@[TOC](OpenCV系列__chapter2)

## 1 圖像加減乘除位運(yùn)算

?### 1.1 加法 img = CV2.add(img1, img2)

?```python

?import CV2

import numpy as np

import matplotlib.pyplot as plt

lena = CV2.imread('lenacolor.png',-1)

noise = np.random.randint(0,255,lena.shape,dtype=np.uint8)

img_add = lena+noise

img_cv_add = CV2.add(lena,noise)

plt.subplot(221)

plt.title('lena')

plt.imshow(lena[...,::-1])

plt.subplot(222)

plt.title('noise')

plt.imshow(noise[...,::-1])

plt.subplot(223)

plt.title('img_add')

plt.imshow(img_add[...,::-1])

plt.subplot(224)

plt.title('img_cv_add')

plt.imshow(img_cv_add[...,::-1])

plt.show()

```

![在這里插入圖片描述](https://img-blog.csdnimg.cn/492326a2f75c4526b30533c169e3d972.png#pic_center)

? ### 1.2 減法 img = CV2.subtract(img1, img2)

? ?```python

?import CV2

import numpy as np

import matplotlib.pyplot as plt

img_0 = CV2.imread('34.jpeg',-1)

img_1 = CV2.imread('35.jpeg',-1)

img_sub = CV2.subtract(img_0, img_1)

plt.subplot(131)

plt.title('img_0')

plt.imshow(img_0[...,::-1])

plt.subplot(132)

plt.title('img_1')

plt.imshow(img_1[...,::-1])

plt.subplot(133)

plt.title('img_sub')

plt.imshow(img_sub[...,::-1])

plt.show()

```

![在這里插入圖片描述](https://img-blog.csdnimg.cn/bda1a3001a7a4a9c81420a1ec01b5c29.png#pic_center)

? ??

? ?```python

?import CV2

import numpy as np

import matplotlib.pyplot as plt

?img_0 = CV2.imread('img_no.png',0)

img_1 = CV2.imread('sub.png',0)

img_sub = CV2.subtract(img_0, img_1)

plt.subplot(131)

plt.title('img_0')

plt.imshow(img_0,cmap='gray')

plt.subplot(132)

plt.title('img_1')

plt.imshow(img_1,cmap='gray')

plt.subplot(133)

plt.title('img_sub')

plt.imshow(img_sub,cmap='gray')

plt.show()

```

![在這里插入圖片描述](https://img-blog.csdnimg.cn/083af0488d544214832c7ebc536f3031.png#pic_center)

? ### 1.3 乘法 img = CV2.multiply(img1, img2)

? ?```python

?import CV2

import numpy as np

import matplotlib.pyplot as plt

lena = CV2.imread('lenacolor.png',-1)

mask = np.zeros_like(lena,np.uint8)

mask[204:392,213:354] = 1

img_mul = CV2.multiply(lena, mask)

plt.subplot(131)

plt.title('lena')

plt.imshow(lena[...,::-1])

plt.subplot(132)

plt.title('mask')

plt.imshow(mask[...,::-1])

plt.subplot(133)

plt.title('img_mul')

plt.imshow(img_mul[...,::-1])

plt.show()

```

![在這里插入圖片描述](https://img-blog.csdnimg.cn/600143c538da408f9af08dde646ba997.png#pic_center)

? ### 1.4 除法 img = CV2.divide(img1, img2)

?

? ?```python

import CV2

import numpy as np

import matplotlib.pyplot as plt

lena = CV2.imread('lenacolor.png',0)

img_noise = CV2.circle(lena.copy(),(280,300),150,(0,255,0),10)

img_div = CV2.divide(img_noise,lena)

plt.subplot(131)

plt.title('lena')

plt.imshow(lena,cmap='gray')

plt.subplot(132)

plt.title('img_noise')

plt.imshow(img_noise,cmap='gray')

plt.subplot(133)

plt.title('img_div')

plt.imshow(img_div,cmap='gray')

plt.show()

```

![在這里插入圖片描述](https://img-blog.csdnimg.cn/2d9916b712d84375948b886e6628abb5.png#pic_center)

### 1.5 位運(yùn)算 CV2.bitwise_and()

? ?```python

import CV2

import numpy as np

import matplotlib.pyplot as plt

lena = CV2.imread('lenacolor.png',1)

mask = np.zeros_like(lena,dtype=np.uint8)

mask = CV2.circle(mask,(280,280),111,(255,255,255),-1)

re = CV2.bitwise_and(lena,mask)

plt.subplot(131)

plt.title('lena')

plt.imshow(lena[...,::-1])

plt.subplot(132)

plt.title('mask')

plt.imshow(mask[...,::-1])

plt.subplot(133)

plt.title('re')

plt.imshow(re[...,::-1])

plt.show()

```

![在這里插入圖片描述](https://img-blog.csdnimg.cn/755c31860e9d4c49a4a9fbb75d122195.png#pic_center)

?```python

import CV2

import numpy as np

import matplotlib.pyplot as plt

lena = CV2.imread('lenacolor.png',1)

mask = np.zeros(lena.shape[:2],dtype=np.uint8)

mask = CV2.circle(mask,(280,280),111,(255,255,255),-1)

re = CV2.bitwise_and(lena,lena,mask=mask)

plt.subplot(131)

plt.title('lena')

plt.imshow(lena[...,::-1])

plt.subplot(132)

plt.title('mask')

plt.imshow(mask,'gray')

plt.subplot(133)

plt.title('re')

plt.imshow(re[...,::-1])

plt.show()

```

![在這里插入圖片描述](https://img-blog.csdnimg.cn/811ca5773ded40daaa94f3505c36890d.png#pic_center)

## 2 圖像增強(qiáng)

? ### 2.1 線性變換

? ```python

? import CV2

import numpy as np

import matplotlib.pyplot as plt

img = CV2.imread('lianhua.png',1)

re = img*2+10

re = re.astype(np.uint8)

plt.subplot(121)

plt.title('img')

plt.imshow(img[...,::-1])

plt.subplot(122)

plt.title('re')

plt.imshow(re[...,::-1])

plt.show()

```

![在這里插入圖片描述](https://img-blog.csdnimg.cn/60d052dc8a4d4fe3a2b34d34e5aa3d33.png#pic_center)

? ### 2.2 非線性變換

??

? ```python

? import CV2

import numpy as np

import matplotlib.pyplot as plt

## 1 gamma

def gamma_aug(img,c,gamma):

? ? gamma_table=[c*np.power(x/255.0,gamma)*255.0 for x in range(256)]

? ? gamma_table=np.round(np.array(gamma_table)).astype(np.uint8)

? ? return CV2.LUT(img,gamma_table)

## 2 log

def log_aug(img,c,r):

? ? gamma_table=[c*np.log10(1+x/255.0*r)*255.0 for x in range(256)]

? ? gamma_table=np.round(np.array(gamma_table)).astype(np.uint8)

? ? return CV2.LUT(img,gamma_table)

if __name__ == '__main__':

? ? img = CV2.imread('lianhua.png',1)

? ? img11 = ?gamma_aug(img,c=1,gamma=0.1)

? ? img12 = gamma_aug(img, c=1, gamma=0.8)

? ? img21 = log_aug(img, c=1, r=10)

? ? img22 = log_aug(img, c=2, r=10)

? ? plt.subplot(231)

? ? plt.title('img')

? ? plt.imshow(img[...,::-1])

? ? plt.subplot(232)

? ? plt.title('img11')

? ? plt.imshow(img11[..., ::-1])

? ? plt.subplot(233)

? ? plt.title('img12')

? ? plt.imshow(img12[..., ::-1])

? ? plt.subplot(234)

? ? plt.title('img')

? ? plt.imshow(img[...,::-1])

? ? plt.subplot(235)

? ? plt.title('img21')

? ? plt.imshow(img21[..., ::-1])

? ? plt.subplot(236)

? ? plt.title('img22')

? ? plt.imshow(img22[..., ::-1])

? ? plt.show()

```

![在這里插入圖片描述](https://img-blog.csdnimg.cn/47e4eff955d4465a8f263142408af91d.png#pic_center)

## 3 圖像幾何變換

? ### 3.1 裁剪、放大、縮小

? ?```python

? ?

```

? ### 3.2 平移變換

? ?```python

? ?

```

? ### 3.3 錯切變換

??

? ```python

??

```

? ### 3.4 鏡像變換

??

? ```python

??

```

? ### 3.5 旋轉(zhuǎn)變換

? ? ?

? ?```python

? ?

```

? ### 3.6 透視變換

? ?```python

? ?

```

?### ?3.7 最近鄰插值、雙線性插值

? ?```python

? ?

```


OpenCV系列__chapter2的評論 (共 條)

分享到微博請遵守國家法律
容城县| 潜江市| 浦城县| 屏山县| 长子县| 维西| 嘉黎县| 贵定县| 香港| 葫芦岛市| 鞍山市| 东丽区| 麦盖提县| 德江县| 孟津县| 拜泉县| 同心县| 正安县| 论坛| 崇左市| 赣榆县| 读书| 项城市| 中阳县| 灵山县| 青浦区| 泾源县| 胶州市| 北海市| 厦门市| 志丹县| 怀远县| 眉山市| 望都县| 乐安县| 丽江市| 海淀区| 天长市| 河池市| 黄陵县| 游戏|