任他青山多变幻——OpenCV图像处理(截取、移动、旋转【旋转矩阵】、透视)

欢迎关注,敬请点赞!

致青春

图片简单截取

返回顶部

import cv2


img_test = cv2.imread("meizi.jpg")
cv2.imshow("test", img_test[10:400, 20:400])              
cv2.waitKey(0)                              

截取

cv2.threshold()图像二值化(彩色转黑白)

返回顶部
【图像的二值化】,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。

【函数说明】

cv2.threshold()函数,像素高于阈值时,给像素赋予新值。

  • 该功能将固定级阈值应用于多通道阵列。
  • 该函数通常用于从灰度图像中获取二进制图像或用于消除噪声,即滤除太大或太小的像素。
  • 函数支持几种类型的阈值处理,它们由类型参数确定。
  • 此外,特殊值cv :: THRESH_OTSU或cv :: THRESH_TRIANGLE可以与上述值之一组合。在这些情况下,函数使用Otsu或Triangle算法确定最佳阈值。(目前,Otsu和Triangle方法仅适用于8位图像)。

【参数说明】

cv2.threshold(src, thresh, maxval, type[, dst])

  • thresh:阈值;
  • maxval:在二元阈值THRESH_BINARY和逆二元阈值THRESH_BINARY_INV中使用的最大值;
  • type:二值化操作的类型,包含以下5种类型:
    1. cv2.THRESH_BINARY;
    2. cv2.THRESH_BINARY_INV;
    3. cv2.THRESH_TRUNC;
    4. cv2.THRESH_TOZERO;
    5. cv2.THRESH_TOZERO_INV。

【代码示例】

import cv2                                                                      
import matplotlib.pyplot as plt                                                 
                                                                                
                                                                                
img_test = cv2.imread("meizi.jpg")                                              
img_gray = cv2.cvtColor(img_test, cv2.COLOR_BGR2GRAY)                           
                                                                                
ret, thresh1 = cv2.threshold(img_gray, 1, 255, cv2.THRESH_BINARY)               
ret, thresh2 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY_INV)           
ret, thresh3 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TRUNC)                
ret, thresh4 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TOZERO)               
ret, thresh5 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TOZERO_INV)           
                                                                                
titles = ['img_test', 'BINARY', 'BINARY_INV', 'TRUNC', 'TO_ZERO', 'TO_ZERO_INV']
images = [img_test, 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()                                                      

二值化

c2.warpAffine()图像仿射变换

返回顶部

<

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值