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

vs网站开发源码谷歌google

vs网站开发源码,谷歌google,织梦网站tel标签,镜像网站做排名图像基本操作 一、图像的拼接二、子矩阵三、掩膜 一、图像的拼接 //水平拼接 void Core.hconcat(List<Mat> src, Mat dst)src&#xff1a;输入矩阵或矩阵向量&#xff0c;所有的矩阵必须具有相同的行数和相同的深度dst&#xff1a;输出矩阵&#xff0c;和src具有相同的行…

图像基本操作

  • 一、图像的拼接
  • 二、子矩阵
  • 三、掩膜

一、图像的拼接

//水平拼接
void Core.hconcat(List<Mat> src, Mat dst)
  • src:输入矩阵或矩阵向量,所有的矩阵必须具有相同的行数和相同的深度
  • dst:输出矩阵,和src具有相同的行数和深度,列数等于src列数之和
//垂直拼接
void Core.cvoncat(List<Mat> src, Mat dst)
  • src:输入矩阵或矩阵向量,所有的矩阵必须具有相同的行数和相同的深度
  • dst:输出矩阵,和src具有相同的行数和深度,行数等于src行数之和
public class Concat {static {OpenCV.loadLocally(); // 自动下载并加载本地库}public static void main(String[] args) {//读取图像并克隆Mat src1 = Imgcodecs.imread("F:/IDEAworkspace/opencv/src/main/java/demo/church.png");Mat src2 = src1.clone();//hConcat函数需要的参数准备List<Mat> mat1 = new ArrayList<>();mat1.add(src1);mat1.add(src2);//水平拼接Mat dst = new Mat();Core.hconcat(mat1, dst);//显示HighGui.imshow("hconcat", dst);HighGui.waitKey(0);//读取图像并克隆Mat src3 = Imgcodecs.imread("F:/IDEAworkspace/opencv/src/main/java/demo/leaf.png");Mat src4 = src3.clone();//vConcat函数需要的参数准备List<Mat> mat2 = new ArrayList<>();mat2.add(src3);mat2.add(src4);//垂直拼接Mat dst2 = new Mat();Core.vconcat(mat2, dst2);HighGui.imshow("vconcat", dst2);HighGui.waitKey(0);System.exit(0);}
}

水平拼接:
在这里插入图片描述

垂直拼接:
在这里插入图片描述

二、子矩阵

有时原图非常大,而我们只对图像的一个区域感兴趣,此时可以通过子矩阵来处理。子矩阵是指矩阵的一个子区域,可以像矩阵一样进行处理,但是对子矩阵的任何修改都会同时影响原来的矩阵。

Mat Mat.submat(int rowStart, int rowEnd, int colStart, int colEnd)
  • rowStart:子矩阵在原矩阵中的起始行
  • rowEnd:子矩阵在原矩阵中的终止行
  • colStart:子矩阵在原矩阵中的起始列
  • colEnd:子矩阵在原矩阵中的终止列
Mat Mat.submat(Range rowRange, Range colRange)
  • rowRange:子矩阵行的范围
  • colRange:子矩阵列的范围
Mat Mat.submat(Rect roi)
  • roi:子矩阵的矩形区域
public class Submat {static {OpenCV.loadLocally(); // 自动下载并加载本地库}public static void main(String[] args) {//读取图像1并显示Mat src1 = Imgcodecs.imread("F:/IDEAworkspace/opencv/src/main/java/demo/butterfly.png");HighGui.imshow("src1", src1);HighGui.waitKey(0);//创建子矩阵并设置为蓝色Mat sub1 = src1.submat(380, 600, 350, 610);Scalar blue = new Scalar(255, 0, 0);sub1.setTo(blue);//显示子矩阵1HighGui.imshow("设置子矩阵后的图像1", src1);HighGui.waitKey(0);//读取图像2并显示Mat src2 = Imgcodecs.imread("F:/IDEAworkspace/opencv/src/main/java/demo/fish.png");HighGui.imshow("src2", src2);HighGui.waitKey(0);//设置子矩阵Rect roi = new Rect(400, 40, 260, 210);Mat sub2 = src2.submat(roi);//将子矩阵中RGB颜色改为原来的一半for (int i = 0; i < sub2.rows(); i++) {for (int j = 0; j < sub2.cols(); j++) {byte[] data = new byte[3];sub2.get(i, j, data);for (int n = 0; n < data.length; n++) {data[n] = (byte)(data[n] / 2);}sub2.put(i, j, data);}}//显示子矩阵HighGui.imshow("子矩阵2", sub2);HighGui.waitKey(0);//显示设置子矩阵后的图像2HighGui.imshow("设置子矩阵后的图像2", src2);HighGui.waitKey(0);//读取图像3Mat src3 = Imgcodecs.imread("F:/IDEAworkspace/opencv/src/main/java/demo/fish.png");//创建子矩阵并设置为蓝色Mat sub3 = src3.submat(new Range(400, 600), new Range(450, 800));sub3.setTo(blue);//显示设置子矩阵后的图像3HighGui.imshow("设置子矩阵后的图像3", src3);HighGui.waitKey(0);//查看3个子矩阵信息System.out.println(sub1);System.out.println(sub2);System.out.println(sub3);System.exit(0);}
}

原图像1:

在这里插入图片描述
设置子矩阵后的图像1:
在这里插入图片描述

图像2:
在这里插入图片描述

子矩阵:
在这里插入图片描述
设置子矩阵后的图像2:
在这里插入图片描述

设置子矩阵后的图像3:
在这里插入图片描述

三、掩膜

掩膜是指用选定的图像、图形或物体对需要处理的图像进行遮挡来控制处理区域或处理过程。OpenCV中有不少函数支持掩膜操作,这些函数都有mask这个参数。

public class Mask {static {OpenCV.loadLocally(); // 自动下载并加载本地库}public static void main(String[] args) {//读取图像并显示Mat src = Imgcodecs.imread("F:/IDEAworkspace/opencv/src/main/java/demo/fish.png");HighGui.imshow("src", src);HighGui.waitKey(0);//创建掩膜图像Mat mask;Scalar black = new Scalar(0, 0, 0);Scalar white = new Scalar(255, 255, 255);mask = new Mat(src.size(), src.type(), black);//定义掩膜区域(矩形区域,白色)Rect roi = new Rect(400, 400, 400, 200);Mat sub = mask.submat(roi);sub.setTo(white);//在屏幕上显示掩膜图像HighGui.imshow("mask", mask);HighGui.waitKey(0);//生成带有掩膜的图像并显示Mat dst = new Mat(src.size(), src.type(), black);src.copyTo(dst, mask);HighGui.imshow("dst", dst);HighGui.waitKey(0);System.exit(0);}
}

原图:
在这里插入图片描述

掩膜:
在这里插入图片描述

掩膜后图像:

在这里插入图片描述

http://www.dtcms.com/wzjs/312713.html

相关文章:

  • 网站改版总结爱站网是什么
  • 网站收录入口申请做一个公司网站需要多少钱
  • 企业自建网站有哪些深圳seo外包
  • 域名空间网站建设要多少钱关键词提取工具
  • 微信网站设计分析腾讯企点
  • 学校网站建设制作方案关键词seo教程
  • 万州网站建设果园路中国新闻网
  • 免费网站建设ppt在线seo超级外链工具
  • 51网站空间相册百度登录首页
  • 做自媒体的上那些网站百度seo网站优化 网络服务
  • o2o网站建设报价上海网络公司seo
  • 子网站如何做网站建设公司哪个好呀
  • 大庆网站建设seo网站
  • 澳门赌网站怎么做代理人力资源短期培训班
  • 南通网站的优化合肥网站推广助理
  • 工作表杭州seo哪家好
  • flutter 如何做网站长沙县网络营销咨询
  • 兴义网站建设友情链接如何交换
  • wordpress适合建什么网站吗沧州网络推广外包公司
  • 是做网站的怀孕后新媒体平台
  • 免费做logo的网站企业建站用什么好
  • 淄博网站设计策划方案维护香港服务器
  • 购物网站产品做促销能赚钱吗黄冈seo顾问
  • 模板手机网站建设公司排名高报师培训机构排名
  • 网站建设报价表下载google年度关键词
  • 网站怎么做可以再上面输入文字企业网站的推广方法有哪些
  • 做网站协调如何进行百度推广
  • 专门做调研的网站seo怎么优化步骤
  • 网站服务器多少钱一年周口seo推广
  • wordpress 导购优化seo报价