当前位置: 首页 > news >正文

做网站需要会什么有哪些免费网站可以发布广告

做网站需要会什么,有哪些免费网站可以发布广告,2021年营业执照年报网上怎么办理,网站建设那家好图像复制 共享数据, 使用 new Mat(srcMat, ...) 和 newMatsrcMat 生成新的Mat都和原Mat共享数据, 也就是说如果修改某一Mat,其他Mat也会随之改变复制全新的Mat, 使用CopyTo() 和 Clone() 方法将生成一个全新的Mat, 新Mat和原Mat不共享数据. 图像区域和点的读写 区域读取: 通过s…

图像复制

  • 共享数据, 使用 new Mat(srcMat, ...) 和 newMat=srcMat 生成新的Mat都和原Mat共享数据, 也就是说如果修改某一Mat,其他Mat也会随之改变
  • 复制全新的Mat, 使用CopyTo() 和 Clone() 方法将生成一个全新的Mat, 新Mat和原Mat不共享数据.

图像区域和点的读写

  • 区域读取: 通过srcMat[Rect] 读取指定区域, 读取的结果也是一个Mat
  • 区域写入: 可以将一个新的Mat赋值到srcMat[Rect]
  • 点的读写: 点的读写有很多种方法, 比如指针、GetIndexer、At、Get/Set和LUT等, 如果性能要求不高的话, 推荐使用 At<>() 泛型方法, 代码简单已读. 可参考 https://blog.csdn.net/TyroneKing/article/details/129108838
  • 点的读取: 可以通过 srcMat.At<>() 方法获取指定点的颜色值.
  • 点的写入: 可以直接给 srcMat.At<>()的结果赋值

图像共享数据的测试

private void copyMats(){string pngFile = @"D:\my_workspace\opencv\images\draw.png";var mat = Cv2.ImRead(pngFile, ImreadModes.Color);//通过指定Rect方式截取图像,新的Mat和原Mat共享数据var partRef1 = new Mat(mat, new Rect(0, 0, mat.Width, mat.Height));//通过指定rowRange和colRange方式截图图像,新的Mat和原Mat共享数据var partRef2 = new Mat(mat, rowRange: new Range(50, 300), colRange: Range.All);//CopyTo()和Clone()都是复制出一份新的Matvar deepCopyMat = new Mat();mat.CopyTo(deepCopyMat);var cloneMat = mat.Clone();var rect = new Rect(10, 10, 100, 100);mat[rect] = new Mat(rect.Width, rect.Width, MatType.CV_8UC3, Scalar.Red);Cv2.ImShow("mat", mat);Cv2.ImShow("partRef1", partRef1);Cv2.ImShow("partRef2", partRef2);Cv2.ImShow("deepCopyMat", deepCopyMat);Cv2.ImShow("cloneMat", cloneMat);Cv2.WaitKey();Cv2.DestroyAllWindows();}

效果截图:

读写测试代码

private void readWriteTest(){string pngFile = @"D:\my_workspace\opencv\images\draw.png";var srcMat = Cv2.ImRead(pngFile, ImreadModes.Color);var rect = new Rect(10, 10, 200, 200);//通过srcMat[Rect] 读取指定区域, 读取的结果也是一个Matvar newMat = srcMat[rect];//可以将一个新的Mat赋值到srcMat[Rect]srcMat[rect] = new Mat(rect.Width, rect.Width, MatType.CV_8UC3, Scalar.Green);for (int i = 0; i < srcMat.Rows; i++){//可以通过 srcMat.At() 方法获取指定点的颜色值.var vec3b = srcMat.At<Vec3b>(i, 100);//可以直接给 srcMat.At()的结果赋值srcMat.At<Vec3b>(i, 100) = new Vec3b(vec3b.Item0, 0, 255);}Cv2.ImShow("mat", srcMat);Cv2.ImShow("newMat", newMat);Cv2.WaitKey();Cv2.DestroyAllWindows();}

效果截图:

参考:

  • OpenCV如何扫描图像、利用查找表和计时/遍历、修改Mat像素 https://blog.csdn.net/TyroneKing/article/details/129108838
http://www.hkea.cn/news/72303/

相关文章:

  • 网站移动端优化的重点有哪些营销策略ppt
  • 养车网站开发搜狗seo快速排名公司
  • 企业电子商务网站建设武汉百度快速排名提升
  • 建一个网站的流程今天刚刚发生的新闻
  • 建立网站请示优化服务是什么意思
  • 有一个做场景动画的网站山东seo费用多少
  • 阿里云服务器的网站备案流程图营销推广有哪些形式
  • 做宣传用什么网站好手游推广平台有哪些
  • 免费全国网站在线客服软件新手电商运营从哪开始学
  • 0317网站建设怎么建个网站
  • 做网站做电脑版还是手机版好电话营销
  • 深圳网站建设 设计搜索引擎的工作原理是什么?
  • 在线网站设计百度收录查询方法
  • 最新体育新闻足球百度seo收费
  • 手机网站做跳转好吗个人在百度上发广告怎么发
  • 民宿网站的建设最近热搜新闻事件
  • 企业网站建设的核心是企业推广视频
  • 设计素材网站蜂产品推广文章
  • wordpress站点描述seo哪个软件好
  • 澳门服务器做网站需要备案吗百度ai人工智能平台
  • 做化验的在哪个网站里投简历河南网站关键词优化
  • 百度网址大全网站大全网络整合营销方案ppt
  • 海阳市建设工程交易中心网站品牌推广的作用
  • 江西省住房和城乡建设网站成都网站优化seo
  • java资源网站云优化
  • 小程序源码大全网络seo关键词优化技巧
  • 服务佳的小企业网站建设ip子域名大全
  • 网页与制作唐山seo推广公司
  • 自己做的网站怎么弄到网上在线网页制作
  • 电商网站 设计方案百度的排名规则详解