10 2021 档案

摘要:加法 cv::Mat I1(4, 3, CV_8UC3, cv::Scalar(10, 20, 30)); cv::Mat I2(4, 3, CV_8UC3, cv::Scalar(1, 2, 3)); cv::Mat I = I1 + I2; //加法 cv::Mat II; cv::add(I1 阅读全文
posted @ 2021-10-31 09:45 天子骄龙 阅读(163) 评论(0) 推荐(0) 编辑
摘要:支持读写XML, YAML, JSON 格式文件,后缀名为.xml , .yml , .yaml , .json 保存数据 //cv::FileStorage(const string& source, int flags, const string& encoding=string()); //创 阅读全文
posted @ 2021-10-30 17:46 天子骄龙 阅读(1771) 评论(0) 推荐(0) 编辑
摘要:归一化就是要把需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内 cv::normalize(distShow, distShow, 0, 255, CV_MINMAX); //归一化 /* 参数1:输入数组 参数2:输出数组,数组的大小和原数组一致 参数3:规范范围的下限 参数4:规 阅读全文
posted @ 2021-10-30 05:08 天子骄龙 阅读(405) 评论(0) 推荐(0) 编辑
摘要:图像处理中,常用的滤波算法有均值滤波、中值滤波以及高斯滤波等 高斯滤波GaussianBlur 与均值模糊相比,只是把卷积模板中的值换一下,不是全1了,换成一组符合高斯分布的数值放在模板里面,比如这时中间的数值最大,往两边走越来越小,构造一个小的高斯包 mao.jpg #include<opencv 阅读全文
posted @ 2021-10-28 12:21 天子骄龙 阅读(474) 评论(0) 推荐(0) 编辑
摘要:用于计算图像中每一个非零点距离离自己最近的零点的距离 1.png cv::Mat src = cv::imread("D:/bb/tu1/1.png",0); cv::Mat imageThin(src.size(), CV_32FC1); //定义保存距离变换结果的Mat矩阵 distanceTr 阅读全文
posted @ 2021-10-27 20:01 天子骄龙 阅读(1150) 评论(0) 推荐(0) 编辑
摘要:非运算 cv::Mat src(5, 4, CV_8UC3,cv::Scalar(10,20,30)); std::cerr<<src<<std::endl; cv::Mat dst; cv::bitwise_not(src, dst);//对二进制数据进行“非”操作,即对图像(灰度图像或彩色图像均 阅读全文
posted @ 2021-10-26 10:23 天子骄龙 阅读(116) 评论(0) 推荐(0) 编辑
摘要:cv::Mat img;// bool b=img.empty(); //是否为空 qDebug()<<"b="<<b; cv::Mat M(5, 4, CV_8UC3); b=M.empty(); qDebug()<<"b="<<b; cv::waitKey(); 阅读全文
posted @ 2021-10-25 08:05 天子骄龙 阅读(440) 评论(0) 推荐(0) 编辑
摘要:1.png图片 cv::Mat roiImg = cv::imread("D:/bb/tu1/1.png"); cv::Mat thrImg; cvtColor(roiImg, thrImg, cv::COLOR_BGR2GRAY); cv::threshold(thrImg, thrImg, 0, 阅读全文
posted @ 2021-10-23 19:15 天子骄龙 阅读(400) 评论(0) 推荐(0) 编辑
摘要://IDE:VS2019 #include<opencv2/opencv.hpp> #include<iostream> void onChangeTrackBar(int pos, void* usrdata) { // 强制类型转换 cv::Mat src = *(cv::Mat*)(usrda 阅读全文
posted @ 2021-10-21 13:46 天子骄龙 阅读(146) 评论(0) 推荐(0) 编辑
摘要:什么是阈值? 最简单的图像分割的方法 应用举例:从一副图像中利用阈值分割出我们需要的物体部分(当然这里的物体可以是一部分或者整体)。这样的图像分割方法是基于图像中物体与背景之间的灰度差异,而且此分割属于像素级的分割 为了从一副图像中提取出我们需要的部分,应该用图像中的每一个像素点的灰度值与选取的阈值 阅读全文
posted @ 2021-10-21 08:04 天子骄龙 阅读(802) 评论(0) 推荐(0) 编辑
摘要:赵艳伟 调离五中纪念 aa 阅读全文
posted @ 2021-10-19 15:29 天子骄龙 阅读(20) 评论(0) 推荐(0) 编辑
摘要:我们用双手紧紧地握别,让感觉在手中轻轻撩过,共享一份难忘的温馨…… 2021年10月19日 阅读全文
posted @ 2021-10-19 15:28 天子骄龙 阅读(52) 评论(0) 推荐(0) 编辑
摘要:OpenCV中一般一张图片在内存中用Mat来表述及管理,Mat内部申请一块类似与数组的内存用于存储图片中的每个像素的值即为稠密矩阵,但是有时在矩阵中其值为零的元素远远多于非为零的元素个数即稀疏矩阵,如何此时还使用Mat进行存储 显然非常浪费空间,为了应对此中场景,OpenCV使用SparseMat类 阅读全文
posted @ 2021-10-13 07:24 天子骄龙 阅读(296) 评论(0) 推荐(0) 编辑
摘要:数字图像处理中的掩膜的概念是借鉴于PCB制版的过程,在半导体制造中,许多芯片工艺步骤采用光刻技术,用于这些步骤的图形“底片”称为掩膜(也称作“掩模”),其作用是:在硅片上选定的区域中对一个不透明的图形模板遮盖,继而下面的腐蚀或扩散将只影响选定的区域以外的区域 图像掩膜与其类似,用选定的图像、图形或物 阅读全文
posted @ 2021-10-11 17:42 天子骄龙 阅读(734) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2021-10-11 09:29 天子骄龙 阅读(1) 评论(0) 推荐(0) 编辑
摘要:我们生活中大多数看到的彩色图片都是RGB类型,但是在进行图像处理时,需要用到灰度图、二值图、HSV、HSI等颜色制式,opencv提供了cvtColor()函数来实现这些功能 cv::Mat src(8, 9, CV_8UC3, cv::Scalar(10,20,30));//图像制式转换 cv:: 阅读全文
posted @ 2021-10-11 09:17 天子骄龙 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-10-10 16:28 天子骄龙 阅读(15) 评论(0) 推荐(0) 编辑
摘要:函数功能:当数据超过数据类型最大值时取最大值, 当数据小于数据类型最小值时取最小值 uchar i=200; qDebug()<<i<<Qt::endl; //i输出200 i=cv::saturate_cast<uchar>(255); qDebug()<<i<<Qt::endl; //i输出25 阅读全文
posted @ 2021-10-10 16:23 天子骄龙 阅读(172) 评论(0) 推荐(0) 编辑
摘要:cv::Mat M1(8, 9, CV_8UC1, cv::Scalar(2)); cv::Mat M3; M1.convertTo(M3,CV_32F,1.0/255,0);//将M1中的数据类型改成参数2,保存到M3中 //参数3:比例因子,M1中的每个数据乘比例因子后再赋值给M3;注意由于数据 阅读全文
posted @ 2021-10-10 08:05 天子骄龙 阅读(733) 评论(0) 推荐(0) 编辑
摘要:注意不是所有格式的Mat型数据都能被使用保存为图片,目前OpenCV主要只支持单通道和3通道的图像,并且此时要求其深度为8bit和16bit无符号(即CV_16U) 保存PNG格式的时候可以保存透明通道的图片 可以指定压缩参数 如果Mat类型数据的深度和通道数不满足上面的要求,则需要使用conver 阅读全文
posted @ 2021-10-10 07:24 天子骄龙 阅读(1098) 评论(0) 推荐(0) 编辑
摘要:对于imshow函数,opencv的官方注释指出:根据图像的深度,imshow函数会自动对其显示灰度值进行缩放,规则如下: 如果图像数据类型是8U(8位无符号),则直接显示。如果图像数据类型是16U(16位无符号)或32S(32位有符号整数),则imshow函数内部会自动将每个像素值除以256并显示 阅读全文
posted @ 2021-10-09 21:29 天子骄龙 阅读(365) 评论(0) 推荐(0) 编辑
摘要:cv::Mat M(8, 9, CV_8UC3); M.setTo(25); //将值全部设置成255 cv::Rect r1(1, 1, 4, 3); M(r1).setTo(200); //指定像素点区域的值都设置成200 M.at<cv::Vec3b>(0,0)[1]=99; M.setTo( 阅读全文
posted @ 2021-10-08 20:50 天子骄龙 阅读(570) 评论(0) 推荐(0) 编辑
摘要:索爱 A6 蓝牙小音箱 阅读全文
posted @ 2021-10-08 20:08 天子骄龙 阅读(35) 评论(0) 推荐(0) 编辑
摘要:蓝牙1 驱动下载地址:https://service.tp-link.com.cn/index.html 型号:TL-UB240 蓝牙2 绿联电脑蓝牙适配器5.0 驱动下载 https://www.lulian.cn/download/59-cn.html 驱动下载丨CM390 aa 阅读全文
posted @ 2021-10-08 07:32 天子骄龙 阅读(301) 评论(0) 推荐(0) 编辑
摘要:cv::Mat M(5, 4, CV_8UC3); std::cerr<<M<<std::endl; cv::Mat MM(M); //仅是创建了Mat的头部分,MM与M共享数据区 std::cerr<<MM<<std::endl; MM.at<cv::Vec3b>(0,1)[1]=99; std: 阅读全文
posted @ 2021-10-07 08:25 天子骄龙 阅读(592) 评论(0) 推荐(0) 编辑
摘要:利用at 单通道 cv::Mat M(5, 4, CV_8UC1); //单通道矩阵--灰度 int ch=M.channels(); std::cerr<<M<<std::endl; int r=M.rows; int c=M.cols; qDebug()<<"行数:"<<r<<";"<<"列数: 阅读全文
posted @ 2021-10-06 10:41 天子骄龙 阅读(134) 评论(0) 推荐(0) 编辑
摘要:如果使用Mat类,我们得到的好处是: 不需要手动申请一块内存;在不需要时不用再手动释放内存;可以通过类的封装,方便的获取到数据的相关信息 Mat类分为两个部分:矩阵头和矩阵数据。如果我们在操作一副图像的数据量时,矩阵数据的大小很大(一般约有1M的数据量),那么拷贝和赋值函数所作的操作如果的深拷贝的话 阅读全文
posted @ 2021-10-05 09:26 天子骄龙 阅读(373) 评论(0) 推荐(0) 编辑
摘要:std::pair主要的作用是将两个数据组合成一个数据,两个数据可以是同一类型或者不同类型。pair是一个模板结构体 std::pair <int, float> f; //空构造 f = std::make_pair(10, 20.9); //赋值 std::pair <int, float> f 阅读全文
posted @ 2021-10-05 07:33 天子骄龙 阅读(361) 评论(0) 推荐(0) 编辑
摘要:InputArray和OutputArray包含:cv::Scalar cv::Vec cv::Matx InputArray和OutputArray两者得到区别:InputArray一般带const属性 阅读全文
posted @ 2021-10-04 20:49 天子骄龙 阅读(195) 评论(0) 推荐(0) 编辑
摘要:cv::Ptr类就看成一个cv的一个智能指针,在适当的时间能自动删除指向的对象;工作机制很像C++的内置指针 cv::Ptr<cv::Matx33f> p = new cv::Matx33f; //创建一个智能指针p,空构造 //cv::Ptr<cv::Matx33f> pp =makePtr<cv 阅读全文
posted @ 2021-10-04 15:37 天子骄龙 阅读(1779) 评论(0) 推荐(1) 编辑
摘要:cv::Range r=cv::Range(10,20); //确定一个连续的整数序列,有两个元素 start 和 end //[10 : 20) int i=r.size(); //返回序列的大小 bool b=r.empty(); //是否为空 std::cout<<r<<std::endl; 阅读全文
posted @ 2021-10-04 15:19 天子骄龙 阅读(542) 评论(0) 推荐(0) 编辑
摘要:cv::Matx类又称固定矩阵类,需要是维度已知,因为所有数据都是在堆栈上分配的,所以分配和清除都很快,主要用在小型矩阵,如果对象是一个图像或者大型浮点的大数组,那么推荐用cv::Mat类 cv::Matx33f m33f; //创建固定矩阵对象 空构造 //33 表示3X3的矩阵;最新的版本4.0 阅读全文
posted @ 2021-10-03 21:29 天子骄龙 阅读(392) 评论(0) 推荐(0) 编辑
摘要:cv::RotatedRect r; //创建斜矩形 空构造 //RotatedRect(Point2f& point1, Point2f& point2, Point2f& point3); //创建斜矩形 //创建斜矩形,只需要给出三个点,但是要指定三个点的顺序 cv::Point2i p(10 阅读全文
posted @ 2021-10-02 22:42 天子骄龙 阅读(710) 评论(0) 推荐(0) 编辑
摘要:cv::Rect r; //空构造 cv::Rect r1(50,40,100,80); //赋值构造 //参数1和参数2:左上角点坐标;参数3和参数4:宽和高 cv::Rect r2(r1); //拷贝构造 cv::Size s(100,80); cv::Point p(10,8); cv::Re 阅读全文
posted @ 2021-10-02 07:55 天子骄龙 阅读(1503) 评论(0) 推荐(0) 编辑
摘要:Size数据结构经常被OpenCV用来表示尺寸,其成员为width和height,被用来表示矩阵或者图片的宽和高 cv::Size s; //空构造 cv::Size2i s1; //空构造 整型int cv::Size2l s2; //空构造 int64 cv::Size2f s3; //空构造 阅读全文
posted @ 2021-10-02 07:41 天子骄龙 阅读(3358) 评论(0) 推荐(0) 编辑
摘要:cv::Scalar ss; //空构造 cv::Scalar s(10,20,30,40);//赋值构造 //参数最多4位,经常用来表示颜色值 //Scalar(255) 表示全白 //Scalar(b,g,r,A) 第四个参数透明度(可选参数) cv::Scalar s1(s);//拷贝构造 c 阅读全文
posted @ 2021-10-01 16:44 天子骄龙 阅读(1462) 评论(0) 推荐(0) 编辑
摘要:cv::Point3i p; //创建三维点对象 cv::Point2i p1; //创建二维点对象 /* i 表示坐标点的数据类型 i是32-bit integer f是32-bit floating-point number b是unsigned character s是short intege 阅读全文
posted @ 2021-10-01 10:14 天子骄龙 阅读(592) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示