当前位置: 首页 > news >正文

口碑好的合肥网站建设多说wordpress

口碑好的合肥网站建设,多说wordpress,sem是什么品牌,宁国网站设计公司目录 一、计算机中的视觉: 二、Opencv基本操作: 图片基础处理: 视频基本处理: 图像截取(截取,合并,只保留一个元素) 图像填充 数值计算 图像融合 阈值判断 图像平滑 图像腐…

目录

一、计算机中的视觉:

二、Opencv基本操作:

图片基础处理:

视频基本处理:

图像截取(截取,合并,只保留一个元素)

图像填充

数值计算

图像融合

阈值判断

图像平滑

 图像腐蚀和膨胀+开闭运算

梯度运算:

礼帽和黑帽


一、计算机中的视觉:

  • 图像由像素点组成,像素点由数字矩阵组成(不同亮度:0-255)
  • R、G、B三个通道---彩色图
  • 图像维度:[H,W,3]

二、Opencv基本操作:

  • 图片基础处理:

图片读取cv2.imread('xx.jpg')

图片窗口cv2.imshow()

获取图片属性img.shape()

以灰度形式读取图片img=cv2.imread('.jpg',cv2.IMREAD_GRAYSCALE)

import cv2 #opencv默认读取BGR
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline#图片读取基本步骤
img=cv2.imread('cat.jpg')
img
cv2.imshow('image',img) #窗口名称+图像
cv2.waitKey(0) #0任意键终止,1000就是1000毫秒的意思,一般用0
cv2.destroyAllWindows()#获取图片属性
img.shape #H,W,C;C=3==RGB#以灰度图形式读取
img=cv2.imread('cat.jpg',cv2.IMREAD_GRAYSCALE)
img
img.shape
cv_show('image',img)
#保存
cv2.imwrite('mycat.png',img)

或者可以把窗口写成一个函数

def cv_show(name,img):

#define a fuction
def cv_show(name,img):cv2.imgshow(name,img)cv2.waitKey(0)cv2.destroyAllWindows()
  • 视频基本处理:

首先读取视频路径,查看路径是否能够正确读取,显示窗口

#视频读取
#指定路径
vc=cv2.VideoCapture('test.mp4')
#检查是否打开正确
if vc.isOpened():open,frame = vc.read()#按顺序一帧一帧读取 open=True/false,第二个参数是当前帧的图像
else:open=Falsewhile open:ret,frame = vc.read()if frame is not None:breakif ret ==True:gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)#转换成灰度图cv2.imshow('result',gray)if cv2.waitKey(100) & 0xFF ==27:break
vc.release()
cv2.destroyAllWindows()
  • 图像截取(截取,合并,只保留一个元素)

注意opencv顺序是BGR

#截取部分图像
img=cv2.imread('cat.img')
cat=img[0:200,0:200]#ROI截取
cv_show('cat',cat)
#颜色通道提取BGR
b,g,r=cv2.split(img)
b
b.shape
g
g.shape#bgr大小相同
#合并
img=cv2.merge((b,g,r))
img.shape
#只保留R
cur_img=img.copy()
cur_img[:,:,0] = 0
cur_img[:,:,1] = 0
cv_show['R',cur_img]
#只保留G
cur_img=img.copy()
cur_img[:,:,0] = 0
cur_img[:,:,2] = 0
cv_show['G',cur_img]
#只保留B
cur_img=img.copy()
cur_img[:,:,1] = 0
cur_img[:,:,2] = 0
cv_show['B',cur_img]
  • 图像填充

六种填充方法:

#边界填充
#上下左右分别填充大小
top_size,bottom_size,left_size,right_size = (50,50,50,50)
#复制法,复制最边缘像素
replicate = cv2.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,borderType=cv2.BORDER_REPLICATE)
#反射法,对感兴趣的图像中的像素在两边进行复制abc cba
reflect = cv2.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,borderType=cv2.BORDER_REFLECT)
#反射法,以最边缘像素为轴,对称 gfedcb|abcdefg|hgfedcba
reflect101 = cv2.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,borderType=cv2.BORDER_REFLECT_101)
#外包装法,cedfgh|abcdefgh|abcdefg
wrap = cv2.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,borderType=cv2.BORDER_WRAP)
#常量法,常数数值填充,0是黑框
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(reflect,'gray'),plt.title('reflect')
plt.subplot(234),plt.imshow(reflect101,'gray'),plt.title('reflect101')
plt.subplot(235),plt.imshow(wrap,'gray'),plt.title('wrap')
plt.subplot(236),plt.imshow(constant,'gray'),plt.title('constant')
plt.show()

  • 数值计算

cv2.add(img1,img2)超过255,直接等于255

  • 图像融合

必须两个图片size大小相同才可以融合

R = a*x1+b*x2+c 权重和偏置项

#想实现img_cat+img_dog
img_cat.shape
#resize变成猫图片的大小
img_dog=cv2.resize(img_dog,(500,414)
res=cv2.addWeighted(img_cat,0.4,img_dog,0.6,0)
plt.show(res)

cv2.resize()还可以用作图片伸缩

#当不知道图片伸缩多少时,可以把x变成原来的1.5倍
res=cv2.resize(img,(0,0),fx=1.5,fy=1)
  • 阈值判断

THRESH_BINARY:亮的全为白,黑的全为黑

THRESH_BINARY_INV:<127变成255,亮的变成黑的,黑的变成白的

THRESH_TRUNC:>127变成127,剩下的不改变,黑色部分不改变

THRESH_TOZERO:<127的变成0,黑色的部分更暗

  • 图像平滑

均值滤波: 

相当于构造一个filter=简单平均卷积操作

方框滤波:大于255的直接等于255

高斯滤波:构建高斯分布

中值滤波:使用中间值替代

#图像平滑
img2=cv2.imread('lenaNoise.png')
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
#均值滤波加起来除个数求均值,一般选(3,5,7)
blur=cv2.blur(img,(3,3))
cv2.imshow('blur',blur)
cv2.waitKey(0)
cv2.destroyAllWindows()
#方框滤波,基本和均值一样,可以选择归一化,大于255直接就是255
blur=cv2.boxFilter(img,-1,(3,3),normalize=True)
#高斯滤波,卷积核满足高斯分布
aussian = cv2.GaussianBlur(img,(5,5),1)
cv2.imshow('aussian',aussian)
cv2.waitKey(0)
cv2.destroyAllWindows()
#中值滤波,从小到大排序找中间值,中间值代替,不考虑噪声,推荐
median = cv2.medianBlur(img,5)
cv2.imshow('medien',medien)
cv2.waitKey(0)
cv2.destroyAllWindows()

三、图像形态学操作

  •  图像腐蚀和膨胀+开闭运算

当图片有一些杂纹,需要通过腐蚀来去掉

当腐蚀之后,可能对原图片有伤害,就要用膨胀恢复

#腐蚀操作,外面的颜色腐蚀里面,去掉杂纹
img=cv2.imread('dige.png')
cv2.imshow('img',img)
cv2.destoryAllWindows()
kernel = np.ones((3,3),np.unit8)
dige_erosion = cv2.erode(img,kernel,iterations = 1)
cv2.imshow('erosion',erosion)
cv2.waitKey(0)
cv2.destroyAllWindows()
#膨胀操作,里面的颜色扩张
kernel = np.ones((3,3),np.unit8)
dige_dilate = cv2.dilate(dige_erosion,kernel,iterations = 1)
cv2.imshow('dilate',dige_dilate)
cv2.waitKey(0)
cv2.destroyAllWindows()

开运算:先腐蚀,再膨胀
闭运算:先膨胀,再腐蚀

#开运算:先腐蚀,再膨胀
img= cv2.imread('dige.png')
kernel = np.ones((5,5),np.unit8)
opening = cv2.morphologyEx(img,cv2.MORPH_OPEN,kernel)
#闭运算:先膨胀,再腐蚀
closing = cv2.morphologyEx(img,cv2.MORPH_CLOSE,kernel)
  • 梯度运算:

得到轮廓边界信息

#梯度运算:
#梯度=膨胀-腐蚀
pie= cv2.imread('pie.png')
kernel = np.ones((7,7),np.unit8)
dilate = cv2.dilate(pie,kernel,iterations = 5)
erosion = cv2.erode(pie,kernel,iterations = 5)
res = np.hstack((dilate,erosion))
gradient = cv2.morphologyEx(pie,cv2.MORPH_GRADIENT,kernel)
  • 礼帽和黑帽

礼帽=原始输入-开运算(原始的杂纹=原始-无杂纹)TOPHAT

黑帽=闭运算-原始输入(原始的小轮廓)BLACKHAT

#礼帽=原始输入-开运算(原始的杂纹=原始-无杂纹)
img= cv2.imread('dige.png')
tophat=cv2.morphologyEx(img,cv2.MORPH_TOPHAT,kernel)
#黑帽=闭运算-原始输入(原始的小轮廓)
blackhat=cv2.morphologyEx(img,cv2.MORPH_BLACKHAT,kernel)

http://www.dtcms.com/a/521395.html

相关文章:

  • JetPack 6系统中,默认启用的自动更新机制不完全依赖 unattended-upgrades 包
  • 企业网站开发服务器山东兴华建设集团网站
  • 建设工程网上质检备案网站中英文网站如何做思路
  • 网站不排名一切等于零今天的新闻直播
  • 学seo网站推广好吗网站用户建设的设计与实现
  • 滇中引水工程建设管理局网站安卓aso优化
  • 盐城网站开发招代理松江车墩网站建设
  • asp.net企业网站后台管理系统企业管理软件系统网
  • 现在手机网站用什么做wordpress推广码
  • POI的概念解析及电子地图与POI的联系和区别分析
  • 建什么网站 做 cpa服务器搭建网站环境
  • **标题:发散创新:智能交通系统的深度探究与实现**摘要:本文将详细
  • DDIM(Diffusion)个人总结
  • Radamsa的TCP客户端/服务器模式用法
  • 【Flutter 问题系列第 86 篇】解决 Google Play 提示应用必须支持 16 KB 内存页面大小问题的方案
  • 南京网站设计建设公司电话添加网站描述
  • 网站建设具体步骤应该怎么做ps怎么制作网页
  • 此网站无法提供安全连接 建设银行seo在线优化排名
  • 网站 架构 设计企业做营销网站
  • 网站建设用途网页制作教程视频 网盘
  • 网站建设学习视频中国50大电商排名
  • 虚幻引擎5 GAS开发俯视角RPG游戏 P06-14 属性菜单 - 文本值行
  • 【浏览器】前端页面禁用浏览器复制的方案
  • 外国人做的汉子网站网站建设合同应注意
  • 怎样把录的视频做一下传到网站四川省住房建设厅官网
  • 网站手机端排名怎么做学校学不到网站建设
  • windows 安装 Redis
  • 阿里云网站建设方案书一定要嘛更换wordpress库
  • h5游戏免费下载:疯狂猜水果
  • 网页制作素材网站网站快速备案通道