- 博客(13)
- 资源 (3)
- 收藏
- 关注
原创 OpenCV入门——阈值处理
OpenCV入门——阈值处理阈值处理在图像处理领域也是十分常见,常用于图像分割。是将数字图像划分成互不相交的区域的过程,在目标检测和提取方面有比较重要的地位。OpenCV提供了函数*cv2.threshold()和函数cv2.adaptiveThreshold()*用于实现阈值处理。threshold函数书写格式如下retval,dst=cv2.threshold( src, thresh, maxval, type)根据type参数的不同可分为一下几种示例代码与结果图如下:二值化impo
2021-10-10 11:36:15
831
1
原创 OpenCV入门——几何变换
OpenCV-几何变换几何变换这一部分在图像处理方面应用比较广泛,比如合适的图像几何变换可以用于增大深度学习里训练样本的样本集,提取特征等等方面。OpenCV中提供resize()函数来进行图像矩阵的变换。cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]])参数分别为原图像,变换大小,沿水平轴的比例因子,沿竖直轴的比例因子,插值方法。默认双线性插值。通过下面的示例理解。首先是利用数组模拟图像。先构建一个两行四列的三通道数组,所有元素均
2021-07-18 23:21:53
630
5
原创 OpenCV入门——色彩空间转换(2)
OpenCV中提供cvtColor()函数来进行色彩空间的转换。色彩空间种类较多,经常用到的有:RGB空间,HSI空间,Gray灰度空间,带alpha通道的RGB等等。需要注意的是OpenCV中所处理的RGB三通道的顺序为B,G,R。上一篇我们说到RGB空间与灰度空间的互化,以及RGB与HSV的转化,这一回我们用cv中的函数来进一步理解色彩空间。OpenCV中提供inRange(img, min, max))函数辅助我们进行掩膜操作。函数当中的img是图像矩阵,min,max为我们所给出的一个.
2021-03-22 09:34:34
354
原创 PyQt5显示图像注意问题
PyQt5注意问题本篇所写的就是在做项目的时候,使用PyQt5所遇到的问题显示图片有两种方式,一种是使用Qlabel显示,一种是Graphicsview控件显示。Qlabel可以显示文字,GIF,图片pix = QPixmap('1.jpg')lb1 = QLabel(self)lb1.setGeometry(0,0,300,200)lb1.setStyleSheet("border: 2px solid red")#红色边框lb1.setPixmap(pix)...
2021-02-16 14:17:34
850
原创 OpenCV入门——色彩空间转换(1)
OpenCV中提供cvtColor()函数来进行色彩空间的转换。色彩空间种类较多,经常用到的有:RGB空间,HSI空间,Gray灰度空间,带alpha通道的RGB等等。需要注意的是OpenCV中所处理的RGB三通道的顺序为B,G,R。RGB转Gray转换关系为Gray = B *0.114+G *0.587+R *0.299在前面说过,图像运算其本质上就是一个个的数组运算,用数组来测试cvtColor函数与转换公式之间的关系。需要注意的是在定义矩阵时,尺寸定义为[2,4,3]也就是三...
2021-01-29 08:52:53
738
原创 OpenCV入门——图像运算
一.图像加法通常情况下,在灰度图像中像素使用8特位来表示。像素值的范围是零到255,两个像素值在进行加法运算时,求得的和可能会超过255。加号运算符和add函数对待超过255的数值的处理方式是不同的。(1)加号运算符“+”加号运算符的公式可以写为a+b=mod(a+b,256) 它对于加和超过255的数值会自动取模举一个下面的例子。在进行运算时完全符合线性代数矩阵的加法–对应位置的元素相加img1和img2中间位置的两个元素227+154=381;381%256=125Eg:Code:
2021-01-24 10:26:51
362
原创 OpenCV入门——图像处理基础
图像处理基础表示方法二值图像像素点包含“0”,“1”。仅仅包含黑色和白色。只使用一个比特位就能够表示。也仅仅只能表示黑色和白色两种颜色 2. 灰度图像计算机会将灰度处理为256个灰度级即[0,255]。0为纯黑,255为纯白。需要使用8位二进制的值来表示。 3. 彩色图像比前两者表现出更丰富的细节,人的视网膜存在三种不同的颜色感受器。能够感受红色,绿色,蓝色,就是三基色。这三种颜色构成最经典的色彩空间就是RGB色彩空间。RGB色彩空间中存在r红色通道,g绿色...
2020-08-17 17:39:52
516
原创 计算机图形学——多边形裁剪(待改良可运行)
用窗口的四条边的边界分别对所画多边形进行裁剪,每次裁剪后的结果都会生成一个新的多边形,再将这一多边形作为输入多边形再以裁剪窗口其他边界裁剪,最终达到裁剪多边形的目的。上述多边形裁剪对于凸多边形适用,但对于部分凹多边形会出现错误如下图,向外凹陷地位置裁剪结果包含了一条本不应该有的线,对于该问题由于时间问题,还没有完成,但已经形成一定可行的改进思路。首先还是要先求出多边形与裁剪区域的交点,同时类似于梁友栋算法的入边出边,把交点分成进入点和出点,然后将交点和原来的顶点按照多边形的顺序存储到同一个数组里,同
2020-07-07 10:34:26
1345
1
原创 计算机图形学——直线裁剪算法(Cohen,中点分割,梁友栋)
在裁剪之前要先判断该线段的属性,完全在裁剪窗口内,完全在窗口外还是部分在,部分在又有几个交点。常用的裁剪有以下三种算法: 1. Cohen算法:对各个区域进行编码,通过编码后的值来判断直线段是否在窗口内对于完全在窗口内的线段简取,对于完全在窗外的线段简弃,对于其他情况求出交点重复判断是否简取是否简弃。private void CohenCut1(Point firstpoint, Point secondpoint, Point[] rect) { ...
2020-07-07 10:15:02
5166
4
原创 计算机图形学Bresenham画线法——直线,中心椭圆,圆
该算法可以说是前两种的升级版,它不仅有一个高效的算法效率,它的适用范围也更广,可以用来画曲线等等。该算法的思想是通过各行、各列像素中心构造一组虚拟网格线,按照直线起点到终点的顺序,计算直线与各垂直网格线的交点,然后根据误差项的符号确定该列象素中与此交点最近的象素。同样还是每次x=x+1误差项d初始值为0,d=d+k 若d>=1就将其减去1保证d在0到1之间d>0.5时y=y+1;d<0.5时,y不变。改进e=d-0.5就可以判断e是否大于0 就可以了因为每次要加k=dy/dx,用e*2*d
2020-07-05 08:51:04
1375
原创 计算机图形学中点画线法
中点画线法在DDA算法中已经将乘法运算改进到了加法运算,但加法运算的时候进行的都是浮点类型的运算,运算结束后还要进行取证处理。中点画线算法就是将浮点类型的运算改进成为整数的运算。该算法采用的是直线的一般式方程。还是以一种特殊情况为例,0<k<1每次在x方向上移动1个像素,y方向上移动一个或者不移动。所以可以通过判断下一个点与y+1和y的距离大小来决定y是否加1。可以通过判断下一个点的终点坐标也就是(x+1,y+0.5)到底是在直线的上方还是下方。该直线将平面分为三部分直线上方,在直线上,在直线
2020-07-04 20:58:13
2367
1
原创 计算机图形学DDA
计算机图形学DDADDA算法是一个经典的画直线算法,也是直线生成算法中最简单的一种。它的原理比较简单,是一种数值微分的方法,这也是本系统中第一个接触增量思想的算法。它是利用直线最基本的格式,斜截式:y=kx+b来实现的。我们都知道在计算机中乘法的运算效率远低于加法,而DDA算法就是将效率低下的乘法计算改成了效率相对高的加法运算。首先需要计算出斜率k=(y1-y0)/(x1-x0)(x1!=x2) 每一次x移动一个像素,y值就像相应的增加k。但像素值都是整数,而所求出的k不一定都是整数,所以要对求出的下一个
2020-06-25 09:50:52
1309
C#滚轮可设置人数抽奖程序
2020-12-09
PA2005xx.zip
2020-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人