Opencv二值图像的分布直方图

复制代码
Mat img;
int color[111111];
int main()
{
    VideoCapture video(0);
    if (!video.isOpened())
    {
        return -1;
    }
    Mat img;
    Mat img1, img2, img3;
    Mat grayimg1, grayimg2, grayimg3;
    Mat binaryimg;
    video >> img;
    cvtColor(img, grayimg1, CV_BGR2GRAY);
    while (1)
    {
        video >> img;

        
        cvtColor(img, grayimg2, CV_BGR2GRAY);
        absdiff(grayimg2, grayimg1, grayimg3);
        medianBlur(binaryimg, binaryimg, 3);
        threshold(grayimg3, binaryimg, 40, 250, CV_THRESH_BINARY_INV);
        
        imshow("gray", grayimg3);
        imshow("binary", binaryimg);
        //----------------------------------------------
        int nRow = binaryimg.rows;
        int nCol = binaryimg.cols;
        //imshow("img", binaryimg);
        memset(color, 0, sizeof(color));
        for (int i = 0; i < nRow; i++)
        {
            uchar *data = binaryimg.ptr<uchar>(i);
            for (int j = 0; j < nCol; j++)
            {
                if (*data == 0)
                    color[j]++;
                *data++;
            }
        }
        
        int high = 450;
        Mat histimg(high, nCol, CV_8UC3);

        
        for (int j = 0; j < nCol; j += 2)
        {
            if (color[j] < 260)
                color[j] = 0;
            //else
                //color[j] = 400;
            line(histimg, Point(j, high - color[j]), Point(j, high), Scalar(0, 0, 250), 3);
        }

        
        for (int j = 0; j<nCol; j++)
        {
            
        }
        imshow("Hist", histimg);
        //--------------------------------------------------------
        if(waitKey(40) > 0)
        {
            break;
        }
    }
    waitKey(100);
    return 0;
}
复制代码

 

posted @   一样菜  阅读(1467)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示