java opencv 基本操作3

编程入门 行业动态 更新时间:2024-10-25 14:32:28

java opencv 基本<a href=https://www.elefans.com/category/jswz/34/1770947.html style=操作3"/>

java opencv 基本操作3

    //通道合并public void TestMerger() {Mat src = GeneralUtils.converMat("C:\\图片\\test\\0001.jpg");List<Mat> mv = new ArrayList<Mat>();//蓝色通道为0Core.split(src, mv);mv.get(0).setTo(new Scalar(0));Mat dst1 = new Mat();//合并通道Core.merge(mv, dst1);GeneralUtils.saveByteImg(dst1, "C:\\图片\\test\\dst1.jpg");//绿色通道为0Core.split(src, mv);Mat dst2 = new Mat();mv.get(1).setTo(new Scalar(0));//合并通道Core.merge(mv, dst2);GeneralUtils.saveByteImg(dst1, "C:\\图片\\test\\dst2.jpg");//红色通道为0Core.split(src, mv);Mat dst3 = new Mat();mv.get(2).setTo(new Scalar(0));Core.merge(mv, dst3);GeneralUtils.saveByteImg(dst1, "C:\\图片\\test\\dst3.jpg");}//cvtcolor()函数是一个颜色空间转换函数,可以实现RGB颜色向HSV,HSI等颜色空间转换。也可以转换为灰度图。//void Imgproc.cvtColor(//        Mat src, // 输入序列//        Mat dst, // 输出序列//        int code, // 颜色映射码//        int dstCn = 0 // 输出的通道数 (0=‘automatic’)//       );//OpenCV中的inRange()函数可实现二值化功能(这点类似threshold()函数),可以同时针对多通道进行操作!// inRange(Mat src, Scalar lowerb, Scalar upperb, Mat dst)//官方文档中的解释:Checks if array elements lie between the elements of two other arrays.即检查数组元素是否在另外两个数组元素值之间。这里的数组通常也就是矩阵Mat或向量。请注意:该函数输出的dst是一幅二值化之后的图像。//使用示例1:针对单通道图像//dst(I) = lowerb(I)0 ≤ src(I)0 < upperb(I)0//即,如果一幅灰度图像的某个像素的灰度值在指定的高、低阈值范围之内,则在dst图像中令该像素值为255,否则令其为0,这样就生成了一幅二值化的输出图像。public void testCvColor() {Mat src = GeneralUtils.converMat("C:\\图片\\test\\0001.jpg");//RGB转换成HSVMat hsv = new Mat();Imgproc.cvtColor(src, hsv, Imgproc.COLOR_BGR2HSV);GeneralUtils.saveByteImg(hsv, "C:\\图片\\test\\hsv.jpg");//RGB转换成YUVMat yuv = new Mat();Imgproc.cvtColor(src, yuv, Imgproc.COLOR_BGR2YUV);GeneralUtils.saveByteImg(yuv, "C:\\图片\\test\\yuv.jpg");//inRange函数示例Mat hsv2 = new Mat();Imgproc.cvtColor(src, hsv2, Imgproc.COLOR_RGB2HSV);Mat inRangeMask = new Mat();Core.inRange(hsv2, new Scalar(50, 50, 50), new Scalar(100, 255, 255), inRangeMask);GeneralUtils.saveByteImg(inRangeMask, "C:\\图片\\test\\inRangeMask.jpg");}


 

程序中的GeneralUtils如下:GeneralUtils

《黄帝内经·素问》

求关注!!

更多推荐

java opencv 基本操作3

本文发布于:2024-02-08 21:38:24,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1675334.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:操作   java   opencv

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!