深度学习---关于OpenCv的部分函数操作

这篇博客介绍了使用OpenCV进行图像处理的基本操作,包括以BGR格式读取图像、设置窗口大小显示图像、将图像转换为灰度、创建全零图像、执行卷积运算以及应用特定的像素值转换来改变图像效果。通过实例代码展示了如何实现这些功能。
摘要由CSDN通过智能技术生成

1、读入

img = cv2.imread(‘a.jpg’)
以BGR的格式读入图像,matoplib是以RGB的方式读入的

2、图像的显示

#设置可以更改窗口的大小
cv2.namedWindow(‘present img’,cv2.WINDOW_NORMAL)
#以BGR的方式显示图像
cv2.imshow(‘present img’,img)
#让图像窗口停留
cv2.waitKey()
#清理掉内存中无用的缓存的图片
cv2.destroyAllWindows()

3、图像灰度化处理

gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

4、建立一个与img大小一样但是像素值全为0的图像

dst = np.zeros_like(img)

5、图像卷积运算

#定义卷积核
kernel = [[-1,0,0],[0,1,0],[0,0,0]]
kernel = np.array(kernel)
#其中gray表示灰度图像
#-1表示的是图像的深度,也就是保存像素值的二进制位数
#kernel指的是卷积核
output = cv2.filter2D(gray,-1,kernel)

6、

#OpenCv通过更改图像像素值,来为图像添加特效
import cv2
import numpy as np
img2 = cv2.imread('1.jpg')
row ,cols = img2.shape[:2]
dst = np.zeros((row,cols,3),dtype = 'uint8')
for i in range(row):
    for j in range(col):
        R= 0.393*img2[i,j][2] + 0.769*img2[i,j][1] + 0.189*img2[i,j][0]
        G= 0.349*img2[i,j][2] + 0.686*img2[i,j][1] + 0.168*img2[i,j][0]
        B = 0.272*img2[i,j][2] + 0.534*img2[i,j][1] + 0.131*img2[i,j][0]
        dst[i,j][2] = min(R,255)
        dst[i,j][1] = min(G,255)
        dst[i,j][0] = min(B,255)
cv2.imshow('dst',dst)
cv2.waitKey()
cv2.destroyAllWindows()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值