
opencv算法与使用
文章平均质量分 66
谨慎的海绵
这个作者很懒,什么都没留下…
展开
-
形态学处理
形态学处理腐蚀,膨胀腐蚀效果就是暗的地方侵入亮的地方使用:给一个结构元(二维数组),结构元中有一个锚点,计算过程就是如果结构元对应的区域有暗的,那锚点就变为暗的记作:import cv2 as cvimport numpy as nps=cv.getStructuringElement(cv.MORPH_RECT,(3,3))#获得核,比较大时用这个,小的话自己画也行。参数:形状,尺寸src=cv.imread(r'C:\Users\19583\Desktop\3.jpg',cv.IM原创 2021-02-20 22:04:19 · 241 阅读 · 0 评论 -
图像平滑
图像平滑除去一些噪点,有些可以保留边界,比如中值滤波,导向滤波,双边滤波二维离散卷积这个卷积我真的看不出哪里和卷有关系,主要是三种卷积,full,same,valid(有效的)。他们的关系是valid包含于same(当然卷积核要小于被卷积的矩阵以保证valid卷积存在),same包含于full中full卷积想象两个矩阵有贴合的部分,将贴合的部分对应相乘再相加,卷积核不断移动结果保存再一个新的矩阵中。下面开始定量分析:假设被卷积的矩阵的大小为H1xW1(H:height,等于行数),卷积核的大小为原创 2021-02-15 22:23:08 · 434 阅读 · 0 评论 -
对比度增强
对比度增强灰度直方图介绍:横坐标是灰度值(就是矩阵中存的数值),纵坐标是出现次数,也可以对数值进行归一化处理,使频数之和为1python实现:import cv2 as cvimport numpy as npdef countHist(image): rows,cols=image.shape#image通道数要求为1 hist=np.ones([256],dtype=np.uint8) for i in range(rows): for j in r原创 2021-02-07 19:00:30 · 471 阅读 · 0 评论 -
阈值分割
阈值分割简介:图像分割:1.基于阈值的分割方法,2.基于区域的分割方法3.基于边缘的分割方法阈值分割适合于那些前景与背景有较强对比度的图,如果不明显可以增大对比度(不知道怎么弄)方法概述:全局阈值分割全局指对整个图像进行,阈值分割指给定一个阈值,大于阈值就放大为255,不大于就变为零,或者可以反过来操作这里介绍一下python中的一个语法糖:import numpy as npimport cv2 as cv# src=np.array([[[123,144,156],[222,32,6原创 2021-02-07 11:06:47 · 3303 阅读 · 0 评论 -
几何变化
几何变化仿射变化以下为坐标系的变化平移这里写不了直接放图很好理解,就是建立变化后的坐标与原坐标的关系,还有一般把坐标系进行移动很麻烦,所以等价成点在移动。等到后面遇到复杂的坐标变化时就好理解了。为了快速解决问题,直接记结论,点的变化就是右边表达式的函数,比如这里就是x向右移tx个单位。再举个例子,函数图像中上面的方法是我瞎编的,如果有更好的理解方法就不用管他放大缩小关于原点进行用上面的方法很好理解关于(x0,y0)放大缩小往已知转化嘛,先坐标变化使原点跑到(x0,y0)处再放缩原创 2021-02-01 22:02:24 · 217 阅读 · 0 评论 -
阈值与平滑处理
笔记简单例子import cv2 as cvimport numpy as npsrc=cv.imread(r'C:\Users\19583\Desktop\2.png',cv.IMREAD_COLOR)src=cv.resize(src,(300,300))ret,thr=cv.threshold(src,127,225,cv.THRESH_BINARY)#阈值处理,ret用来接收bool,不然thr就会接受到boolbox1=cv.boxFilter(src,-1,(3,3),1)# 方波原创 2021-01-30 18:08:26 · 136 阅读 · 0 评论 -
图片读取与简单操作
笔记简单例子import cv2 as cvimport numpy as npimg1=cv.imread(r"C:\Users\19583\Desktop\lingshi\1120171.jpg",cv.IMREAD_COLOR)img2=cv.imread(r"C:\Users\19583\Desktop\lingshi\11.jpg",cv.IMREAD_COLOR)gj1=img1gj2=img2# gj1[:,:,1]=0# gj1[:,:,2]=0# gj2[:,:,1]原创 2021-01-30 18:06:11 · 122 阅读 · 0 评论 -
图像数字化
笔记:numpy中的ndarry先看一下numpy一堆类型:uint8(uchar),int32,float32,float64,后面的数字应该是位数注意这些类型要加np才能用二三维矩阵的创建:先看二维> import numpy as np> z=np.zeros((2,4),np.uint8)#2行4列元素类型为uchar的矩阵,初始化为0> print(type(z))> print(z)> o=np.ones((3,3),np.float32)#这原创 2021-01-30 17:56:21 · 566 阅读 · 0 评论