opencv第3讲--opencv中图像创建与赋值
1. C++中的Mat对象
Mat的数据结构
2.代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | void QuickDemo::mat_creation_demo(Mat& image) { //创建方法--克隆 Mat m1 = image.clone(); //深拷贝 //复制 Mat m2; image.copyTo(m2); //深拷贝 //赋值法 Mat m3 = image; //浅拷贝 //创建空白图像 Mat m4 = Mat::zeros(image.size(), image.type()); //根据输入图像的大小和通道数量创建数据 Mat m5 = Mat::zeros(Size(8, 8), CV_8UC3); // 无符号的8为的unsigned char 的三通道图像数据 cout << m5 << endl; cout << m5.cols << endl; //打印宽度 cout << m5.rows << endl; //打印高度 cout << m5.channels() << endl; //打印通道数量 //创建初始数值全是1的一个数据图像,但是只能应用到单通道,多通道初始数据是1 0 0 Mat m6 = Mat::ones(Size(8, 8), CV_8UC1); m6 = 127; //数据编程了127 0 0... //如果想把多通道的数值都发生改变 m6 = Scalar(127,127,127); //全部数据变为127 //Mat kernel = (Mat_<char>(3, 3) << // 0, -1, 0, // -1, 5, -1, // 0, -1, 0); } |
分类:
opencv图像处理
posted on 2021-12-20 23:03 xcxfury001 阅读(342) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!