当前位置:网站首页>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()

边栏推荐
- Interpreting the practical application of maker thinking and mathematics curriculum
- Leetcode simple question: find the K beauty value of a number
- Complex network modeling (I)
- CTF-WEB shrine模板注入nmap的基本使用
- MES system is a necessary choice for enterprise production
- GFS分布式文件系统
- Deit learning notes
- Transformation function map and flatmap in kotlin
- Full text query classification
- One click installation of highly available Nacos clusters in rainbow
猜你喜欢
![[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)

XCiT学习笔记

Myabtis_ Plus

饥荒云服管理脚本

Rainbow 5.7.1 supports docking with multiple public clouds and clusters for abnormal alarms

Obsidan之数学公式的输入

Register of assembly language by Wang Shuang

Rainbond 5.6 版本发布,增加多种安装方式,优化拓扑图操作体验

【无标题】

Explore creativity in steam art design
随机推荐
Bayes' law
雅思考试自己的复习进度以及方法使用【日更版】
CTF-WEB shrine模板注入nmap的基本使用
XCiT学习笔记
面试题(CAS)
Rainbow version 5.6 was released, adding a variety of installation methods and optimizing the topology operation experience
Complex network modeling (II)
轻松上手Fluentd,结合 Rainbond 插件市场,日志收集更快捷
The simple problem of leetcode is to judge whether the number count of a number is equal to the value of the number
Use of any superclass and generic extension function in kotlin
发挥创客教育空间的广泛实用性
Splunk子查询模糊匹配csv中字段值为*
[quick start of Digital IC Verification] 11. Introduction to Verilog testbench (VTB)
Tuowei information uses the cloud native landing practice of rainbow
Make LIVELINK's initial pose consistent with that of the mobile capture actor
Ebpf cilium practice (1) - team based network isolation
opencv学习笔记四——膨胀/腐蚀/开运算/闭运算
Open3D ISS关键点
ROS bridge notes (05) - Carla_ ackermann_ Control function package (convert Ackermann messages into carlaegovehiclecontrol messages)
Function extension, attribute extension and non empty type extension in kotlin