inRange()使用

这个函数就是判断src中每一个像素是否在[lowerb,upperb]之间,注意集合的开闭。如果结果为是,那么在dst相应像素位置填上255,反之则是0。

【OpenCV】5 色彩空间

 

 

通道分离 

         List<Mat> mv = new ArrayList<Mat>();
         Core.split(src, mv);
         int index = 1;
         for(Mat m : mv) {
        	 ImageUI outputWin = new ImageUI();
        	 outputWin.imshow("channel-" + index ,m);
        	 index++;
         }

【OpenCV】5 色彩空间

【OpenCV】5 色彩空间

【OpenCV】5 色彩空间

通道合并

merge()函数的功能是,将多个数组组合合并成一个多通道的数组。

         List<Mat> mv = new ArrayList<Mat>();
         Core.split(src, mv);
         int index = 1;
         for(Mat m : mv) {
        	 if(index == 1 || index == 3) {
        		 m.setTo(new Scalar(0, 0, 0));
        	 }
        	 ImageUI outputWin = new ImageUI();
        	 outputWin.imshow("channel-" + index ,m);
        	 index++;
         }
         
         //merge
         Mat dst = new Mat(src.size(), src.type());
         Core.merge(mv, dst);
         ImageUI mergeWIN = new ImageUI();
         mergeWIN.imshow("merge-result", dst);

【OpenCV】5 色彩空间

mixchannels函数

从输入中拷贝某通道到输出中特定的通道

         //mix channels
         List<Mat> channels = new ArrayList<Mat>();
         channels.add(new Mat(src.size(), CvType.CV_8UC1));
         Core.mixChannels(mv, channels, new MatOfInt(2, 0));	
         ImageUI mixWIN = new ImageUI();
         mixWIN.imshow("mix-reslut", channels.get(0));

【OpenCV】5 色彩空间 

 

相关文章:

  • 2021-10-05
  • 2021-08-10
  • 2022-12-23
  • 2021-08-26
  • 2021-10-04
  • 2021-09-21
猜你喜欢
  • 2021-09-11
  • 2021-08-25
  • 2021-04-28
  • 2022-12-23
  • 2021-10-15
  • 2021-07-10
相关资源
相似解决方案