当前位置:网站首页>Opencv learning notes II - basic image operations
Opencv learning notes II - basic image operations
2022-07-07 08:23:00 【I am a little rice】
1. POI Area : Region of interest
2. Edge fill
3. Numerical operation
import cv2
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
from PIL import Image
image1 = mpimg.imread('1.jpg')
image2 = mpimg.imread('2.jpg')
plt.imshow(image1)

plt.imshow(image2)

Image addition
image3 = image1+image2
plt.imshow(image3)

Image cropping
plt.imshow(image1[100:-100, 100:-100, :]);

Image zoom
fx and fy Represents the zoom factor
image4 = cv2.resize(image1, (0, 0), fx=3, fy=1)
plt.imshow(image4);

4. Image threshold
ret, dst = cv2.threshold(src, thresh, maxval, type)
- src: The input image , Only single channel images
- dst: Output chart
- thresh: threshold
- maxval: The value when the pixel value exceeds or is less than the threshold
- type: The type of binarization
- cv2.THRESH_BINARY Over threshold value maxval, Otherwise take 0
- cv2.THRESH_BINARY_INV THRESH_BINARY The reversal of
- cv2.THRESH_TRUNC Greater than the threshold set the threshold , The rest remains the same
- cv2.THRESH_TOZERO Greater than the threshold unchanged , The rest is set to 0
- cv2.THRESH_TOZERO_INV THRESH_TOZERO The reversal of
image1_gray = image1[:,:,0]
res, thresh1 = cv2.threshold(image1_gray, 127, 255, cv2.THRESH_BINARY)
res, thresh2 = cv2.threshold(image1_gray, 127, 255, cv2.THRESH_BINARY_INV)
res, thresh3 = cv2.threshold(image1_gray, 127, 255, cv2.THRESH_TRUNC)
res, thresh4 = cv2.threshold(image1_gray, 127, 255, cv2.THRESH_TOZERO)
res, thresh5 = cv2.threshold(image1_gray, 127, 255, cv2.THRESH_TOZERO_INV)
titles = ['Original Image', 'BINARY', 'BINARY_INV', 'TRUNC', 'TOZERO', 'TOZERO_INV']
images = [image1_gray, thresh1, thresh2, thresh3, thresh4, thresh5]
for i in range(6):
plt.subplot(2,3,i+1)
plt.imshow(images[i], 'gray')
plt.title(titles[i])
plt.xticks([])
plt.yticks([])
plt.show()

边栏推荐
猜你喜欢

Application of slip ring of shipborne radar antenna

JS复制图片到剪切板 读取剪切板

Avatary's livedriver trial experience

Battery and motor technology have received great attention, but electric control technology is rarely mentioned?

一文了解如何源码编译Rainbond基础组件

Automatic upgrading of database structure in rainbow

OpenVSCode云端IDE加入Rainbond一体化开发体系
![[quick start of Digital IC Verification] 11. Introduction to Verilog testbench (VTB)](/img/c2/32a2c1ede493b778a6c44077d765d0.png)
[quick start of Digital IC Verification] 11. Introduction to Verilog testbench (VTB)

Openvscode cloud ide joins rainbow integrated development system

通俗易懂单点登录SSO
随机推荐
在Rainbond中实现数据库结构自动化升级
Complete linear regression manually based on pytoch framework
解读创客思维与数学课程的实际运用
Le système mes est un choix nécessaire pour la production de l'entreprise
Four items that should be included in the management system of integral mall
[quick start of Digital IC Verification] 10. Verilog RTL design must know FIFO
The truth of robot education in hands-on practice
The reified keyword in kotlin is used for generics
Pytoch (VI) -- model tuning tricks
IP-guard助力能源企业完善终端防泄密措施,保护机密资料安全
eBPF Cilium实战(2) - 底层网络可观测性
Application of slip ring of shipborne radar antenna
Réplication de vulnérabilité - désrialisation fastjson
Game attack and defense world reverse
Analysis of maker education in innovative education system
MES系統,是企業生產的必要選擇
Full text query classification
Register of assembly language by Wang Shuang
[quick start of Digital IC Verification] 14. Basic syntax of SystemVerilog learning 1 (array, queue, structure, enumeration, string... Including practical exercises)
JS copy picture to clipboard read clipboard