- 博客(20)
- 收藏
- 关注
原创 连通域计算相关代码实现
public:// 查询代表元// 合并集合private:// 前驱节点查询图// 集合树高度记录i < i_size;++i)// 查询集合的代表元// 已是同一集合,无需合并else// 树的高度加一。
2025-04-11 15:27:49
149
原创 2022-6-6:OpenCV入门(十)imgproc组件学习之六——直方图与匹配
本章我们学习了广泛运用于很多计算机视觉运用当中的直方图,而简单点说,直方图就是对数据进行统计的一种方法。然后还讲到了反向投影和模板匹配。所谓反向投影就是首先计算某一特征的直方图模型,最后使用模型去寻找图像中存在的该特征的方法。而模板匹配是一项在一幅图像中寻找与另一幅模板图像最匹配(相似)部分的技术。...
2022-06-11 18:33:56
478
原创 2022-5-28:OpenCV入门(八)imgproc组件学习之四——图像变换
边缘检测滤波增强检测1.canny算子void Canny(InputArray image,OutputArray edges,double threshold1,double threshold2,int apertureSize=3,bool L2gradient=false)//第一个参数:输入图像;第二个参数:输出的边缘图;第三个参数:第一个滞后性阈值;第四个参数:第二个滞后性阈值;五个参数:Sobel算子的孔径大小;第六个参数:一个计算图像梯度值的标识。2.Sobel算子
2022-05-28 20:18:58
331
原创 2022-5-25:OpenCV入门(七)imgproc组件学习之三——漫水填充、图像金字塔与尺寸缩放
漫水填充所谓漫水填充,简单来说,就是自动选中了和种子点相连的区域,接着将该区域替换成指定的颜色,这是个非常有用的功能,经常用来标记或者分离图像的一部分进行处理或分析。int floodFill(InputOutputArray image, Point seedPoint, Scalar newVal, Rect* rect=0,Scalar loDiff=Scalar(),Scalar upDiff=Scalar(),int flags=4)//第一个参数:输入输出图像;第二个参数:起始点;第三个参
2022-05-26 21:12:21
343
原创 2022-5-24:OpenCV入门(六)imgproc组件学习之二——形态学滤波
一、膨胀与腐蚀膨胀与腐蚀的功能消除噪声;分割( isolate)出独立的图像元素,在图像中连接( join)相邻的元素;寻找图像中的明显的极大值区域或极小值区域;求出图像的梯度。膨胀( dilate)就是求局部最大值的操作void dilate(InputArray src,OutputArray dst,InputArray kernel,Point anchor=Point(-1,-1),int iterations=1,int borderType=BORDER_CONS
2022-05-24 21:24:13
502
原创 2022-5-23:OpenCV入门(五)imgproc组件学习之一——线性和非线性滤波
一、线性滤波方框滤波void boxFilter(InputArray src,OutputArray dst, int ddepth,Size ksize, Point anchor =Point(-1,-1),boolnormalize=true,int borderType =BORDER_DEFAULT)//第一个参数:输入图像;第二个参数:输出图像;第三个参数:输出图像的深度;第四个参数:内核大小;//第五个参数:表示锚点(被平滑的那个点),默认值Point(-1,-1)表示在核中心;第
2022-05-23 20:00:28
379
原创 2022-5-8:OpenCV入门(四)core组件进阶
1.LUT函数:Look up tableMat lookUpTable(1,256,CV_8U);u从三个都说副高fdffffDdqqqdqddq FQFQ2Q2W GW 问对方成为亲卫队请问我去问驱蚊器委屈委屈强强 char* p = lookUpTable.data;for(int i = 0 ; i < 256 ; ++i) p[i] = table[i];//然后调用函数(I是输入 J是输出):for (int i = 0; i < ti
2022-05-09 22:01:37
441
原创 2022-5-3:OpenCV入门(三)数据结构与基本绘图
1.Mat结构1.几种Mat类复制方法可以创建只引用部分数据的信息头,如下:Mat D(A,Rect(10,10,100,100));//使用矩形界定Mat E=A(Range:all(),Range(1,3));//使用行和列界定2.显示创建Mat对象的七种方法(1)使用Mat()构造函数Mat M(2,2,CV_8UC3,Scalar(0,0,255));//CV_[位数][带符号与否][类型前缀]C[通道数]cout << "M=" << endl <&
2022-05-03 23:17:19
2262
原创 2022-4-26:OpenCV入门(二)认识HighGUI图形用户界面
1.图像载入Mat imread(const strings& filename, intflags=1);//第一个为读取图像的路径;第二个为图像的颜色空间类型。2.图像显示void imshow(const string& winname,IputArray mat)//第一个为需要显示的窗口名称,第二个为需要显示的图像。3.显示窗口void namedWindow(const string& winname,int flags=WINDOW_AUTOSIZE)
2022-04-27 21:30:11
2540
原创 2022-4-25:OpenCV入门(一)快速上手OpenCV图像处理
1.图像显示// 引入OpenCV头文件#include<opencv2/opencv.hpp>// 使用OpenCV命名空间cvusing namespace cv;int main(){ Mat image = imread("E:\\OpenCV_learn\\1.bmp");//载入图像 imshow("【原始图】", image);//显示图像 waitKey(0); destroyAllWindows(); //如果之前没有释放掉内存的
2022-04-25 16:45:54
2058
原创 2022-4-23:OpenCV的环境搭建
1.下载安装OpenCV进入OpenCV官方网站下载你想要的版本型号,下载后得到.exe执行文件。点击解压选择合适的安装位置即可完成安装。2.安装Visual Studio进入Visual Studio官方网站下载你想要的版本型号,下载后得到.exe执行文件,点击后进行安装,并选择C++桌面开发和合适的安装位置。3....
2022-04-23 19:13:00
2447
原创 2022-01-14:深度学习中关于显卡的设置
如何将其他显卡设置为主卡呢?os.environ["CUDA_VISIBLE_DEVICES"] = "2,0,1"#此时默认主卡为2号实际显卡model = torch.nn.DataParallel(model, device_ids=[0,1]).cuda()#此时只用上0和1号运算显卡,实际上是2号和0号实际显卡torch.cuda主要函数import torchprint(torch.cuda.is_available())#判断GPU是否可用os.environ["CUDA_VIS
2022-01-14 22:28:30
1410
原创 2021-04-19:怎么分布式训练模型
怎么分布式训练模型当一台电脑有多个GPU时,可以进行分布式训练device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")if torch.cuda.device_count() > 1: print('we have ',torch.cuda.device_count(),'GPUs') model = nn.DataParallel(model,device_ids=[0,1])#DataParallel会
2021-04-19 20:03:41
111
原创 2021-04-18:怎么实时查看GPU状态
跑深度学习模型的时候怎么实时查看GPU状态windows中在CMD中,输入nvidia-smi -l 2 #每2秒刷新一次Linux中在终端中,输入watch -n 2 nvidia-smi #每2秒刷新一次
2021-04-18 23:39:15
721
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人