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; }
分类:
图像分析库OpenCV
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律