c# opencvsharp学习笔记(6)直方图与反向投影直方图

1.直方图

先来对灰度图计算

        //     computes the joint dense histogram for a set of images.
        //      计算一组图像的联合密集直方图。
        // 参数:
        //   images://输入图像
        //
        //   channels://通道,输入图像是哪个通道
        //
        //   mask://掩码一般直接用 Mat mask = new Mat ();也就是不做掩码
        //
        //   hist://输出也是一个mat
        //
        //   dims://维数
        //
        //   histSize://箱子数量,多少不同像素值就有多少个箱子,例如灰度图像就是256个
        //                  0号箱子装的就是值位0的像素数量
        //   ranges://像素值范围
        //
        //   uniform:
        //
        //   accumulate:
        public static void CalcHist(Mat[] images, int[] channels, InputArray mask, OutputArray hist, int dims, int[] histSize, float[][] ranges, bool uniform = true, bool accumulate = false);

public static void CalcHist(Mat[] images, int[] channels, InputArray mask, OutputArray hist, int dims, int[] histSize, Rangef[] ranges, bool uniform = true, bool accumulate = false);
//直方图也是c++有写差别的地方,从形参上来看就比c++的少了个图片数量
Mat panda = new Mat(@"滚滚.png", ImreadModes.GrayScale);//读取为灰度图

            Mat[] mats = new Mat[] { panda};//一张图片,初始化为panda
            Mat hist = new Mat();//用来接收直方图
            int[] channels = new int[] { 0};//一个通道,初始化为通道0
            int[] histsize = new int[] { 256};//一个通道,初始化为256箱子
            Rangef[] range = new Rangef[1];//一个通道,值范围
            range[0].Start = 0.0F;//从0开始(含)
            range[0].End = 256.0F;//到256结束(不含)
            Mat mask = new Mat();//不做掩码
            Cv2.CalcHist(mats, channels, mask, hist, 1, histsize, range);//计算灰度图,dim为1 1维

            Console.WriteLine(hist.Rows + "行" + hist.Cols + "列");//把输出的行列打印出来


            Cv2.ImShow("处理后", panda);
            Cv2.WaitKey();

输出结果

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值