栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

opencv图像处理项目实践_opencv进行图像处理?

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

opencv图像处理项目实践_opencv进行图像处理?

读入图片
import cv2 
import matplotlib.pyplot as plt
import numpy as np 
%matplotlib inline
img=cv2.imread(r"C:UsersAdminDesktopname.png")
img
#显示图像
cv2.imshow("image",img)
cv2.waitKey(0)#等待时间,K要大写,0表示按任意键终止
cv2.destroyAllWindows()#关闭窗口

函数
def cv_show(name,img):
    cv2.imshow(name,img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
img.shape
(433, 453, 3)
执行灰度图
img=cv2.imread(r"C:UsersAdminDesktopname.png",cv2.IMREAD_GRAYSCALE)
cv_show('image',img)

在这里插入图片描述

保存
cv2.imwrite(r"C:UsersAdminDesktopname.png",img)

True
读视频
import cv2 
import matplotlib.pyplot as plt
import numpy as np 
%matplotlib inline

vc=cv2.VideoCapture(r'F:重要文件资料毕业文件videosnow.mp4')
if vc.isOpened():
    open,frame=vc.read()#返回两个参数
else:
    open=False
    
while open:
    ret,frame=vc.read()
    if frame is None:
        break
    if ret==True:
        gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
        cv2.imshow('result',gray)
        if cv2.waitKey(10)&0xFF ==27:#0xFF按esc键盘
            break
vc.release()
cv2.destroyAllWindows()



# 保留BGR中一个 


```python
# 保留BGR中一个
import cv2 
import matplotlib.pyplot as plt
import numpy as np 
%matplotlib inline
img=cv2.imread(r"C:UsersAdminDesktopname.png")
cpy=img.copy()
cpy[:,:,0]=0#注意格式
cpy[:,:,1]=0#注意格式,BGR=012
cv_show('result',cpy)

边界填充
top_size,bottom_size,left_size,right_size=(100,100,100,100)

replicate=cv2.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,borderType=cv2.BORDER_REPLICATE)#复制法
reflect=cv2.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,borderType=cv2.BORDER_REFLECT)#反射法
reflect101=cv2.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,borderType=cv2.BORDER_REFLECT101)#反射法,对称反射
wrap=cv2.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,borderType=cv2.BORDER_WRAP)#外包装法
constant=cv2.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,cv2.BORDER_CONSTANT,value=0)#常量法,常数值填充

import matplotlib.pyplot as plt

plt.subplot(231),plt.imshow(img,'gray'),plt.title('ORIGINAL')
plt.subplot(232),plt.imshow(replicate,'gray'),plt.title('REPLICATE')
plt.subplot(233),plt.imshow(reflect101,'gray'),plt.title('REFLECT101')
plt.subplot(234),plt.imshow(wrap,'gray'),plt.title('WRAP')
plt.subplot(235),plt.imshow(constant,'gray'),plt.title('CONSTANT')
plt.subplot(236),plt.imshow(reflect,'gray'),plt.title('REFLECT')

图像融合
import cv2 
import matplotlib.pyplot as plt
import numpy as np  
%matplotlib inline
img2=cv2.imread(r"C:UsersAdminDesktopname.png")
img=cv2.imread(r"C:UsersAdminDesktopname.png")
img.shape
(433, 453, 3)
img2=cv2.resize(img2,(453,433))
img2.shape
(433, 453, 3)
res=cv2.addWeighted(img,0.3,img2,0.6,0)
plt.imshow(res)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H8nZJ5U1-1648438684313)(output_21_1.png)]

梯度处理 金字塔
name=cv2.imread(r"C:UsersAdminDesktopname.png")
up=cv2.pyrUp(name)
down_up=cv2.pyrDown(up)
print(name.shape)
print(down_up.shape)
cv_show('res',np.hstack((name,down_up)))#向上采样和向下采样,下-上更模糊
(433, 453, 3)
(433, 453, 3)
![在这里插入图片描述](https://img-blog.csdnimg.cn/fc897e19243a4c22a59b895ba0c0a72c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6LCi6ICz5py15ra1,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
拉普拉斯金字塔(简单了解)
i_i=name-down_up
print(i_i.shape)
cv2.imshow('i_i',i_i)
cv2.waitKey(0)
cv2.destroyAllWindows()

(433, 453, 3)
![在这里插入图片描述](https://img-blog.csdnimg.cn/fc47b7e8694549d49cd910b2194406a2.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6LCi6ICz5py15ra1,size_19,color_FFFFFF,t_70,g_se,x_16#pic_center)
为了更高准确率,使用二值图像
gray=cv2.cvtColor(name,cv2.COLOR_BGR2GRAY)
ret,thresh=cv2.threshold(gray,125,255,cv2.THRESH_BINARY)
cv2.imshow('thresh',thresh)
cv2.waitKey(0)
cv2.destroyAllWindows()
binary,contours=cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_NONE)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/786632.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号