当前位置: 首页 > news >正文

公司该建哪种网站品牌微信网站建设

公司该建哪种网站,品牌微信网站建设,商务网站建设 视频,黄埔区建设局网站【欢迎关注编码小哥#xff0c;学习更多实用的编程方法和技巧】 1、基本直方图计算 // 灰度图直方图 cv::Mat calculateGrayscaleHistogram(const cv::Mat image) {cv::Mat histogram;int histSize 256; // 灰度级别float range[] {0, 256};const float* histRange …【欢迎关注编码小哥学习更多实用的编程方法和技巧】 1、基本直方图计算 // 灰度图直方图 cv::Mat calculateGrayscaleHistogram(const cv::Mat image) {cv::Mat histogram;int histSize 256; // 灰度级别float range[] {0, 256};const float* histRange {range};cv::calcHist(image, // 输入图像1, // 图像数量0, // 通道索引cv::Mat(), // 掩膜histogram, // 输出直方图1, // 直方图维度histSize, // 直方图大小histRange // 像素值范围);return histogram; }// 彩色图直方图 std::vectorcv::Mat calculateColorHistogram(const cv::Mat image) {std::vectorcv::Mat histograms(3);int histSize 256;float range[] {0, 256};const float* histRange {range};// 分离通道std::vectorcv::Mat channels;cv::split(image, channels);// 计算每个通道直方图for (int i 0; i 3; i) {cv::calcHist(channels[i], // 输入通道1, // 图像数量0, // 通道索引cv::Mat(), // 掩膜histograms[i], // 输出直方图1, // 直方图维度histSize, // 直方图大小histRange // 像素值范围);}return histograms; } 2、直方图可视化 class HistogramVisualizer { public:// 绘制直方图static cv::Mat drawHistogram(const cv::Mat histogram, int height 400) {// 归一化直方图cv::Mat normalizedHist;cv::normalize(histogram, normalizedHist, 0, height, cv::NORM_MINMAX);// 创建绘图画布int width 512;cv::Mat histImage(height, width, CV_8UC3, cv::Scalar(255, 255, 255));// 绘制直方图int binWidth cvRound((double)width / histogram.rows);for (int i 1; i histogram.rows; i) {cv::line(histImage, cv::Point(binWidth * (i - 1), height - cvRound(normalizedHist.atfloat(i - 1))),cv::Point(binWidth * i, height - cvRound(normalizedHist.atfloat(i))),cv::Scalar(0, 0, 0), 2);}return histImage;}// 绘制彩色直方图static cv::Mat drawColorHistogram(const std::vectorcv::Mat histograms) {int height 400;int width 512;cv::Mat histImage(height, width, CV_8UC3, cv::Scalar(255, 255, 255));std::vectorcv::Scalar colors {cv::Scalar(255, 0, 0), // 蓝色cv::Scalar(0, 255, 0), // 绿色cv::Scalar(0, 0, 255) // 红色};// 归一化直方图std::vectorcv::Mat normalizedHists(3);for (int i 0; i 3; i) {cv::normalize(histograms[i], normalizedHists[i], 0, height, cv::NORM_MINMAX);}// 绘制直方图int binWidth cvRound((double)width / histograms[0].rows);for (int i 1; i histograms[0].rows; i) {for (int channel 0; channel 3; channel) {cv::line(histImage, cv::Point(binWidth * (i - 1), height - cvRound(normalizedHists[channel].atfloat(i - 1))),cv::Point(binWidth * i, height - cvRound(normalizedHists[channel].atfloat(i))),colors[channel], 2);}}return histImage;} }; 3、直方图均衡化  class HistogramEqualizer { public:// 灰度图均衡化static cv::Mat equalizeGrayscaleImage(const cv::Mat image) {cv::Mat equalizedImage;cv::equalizeHist(image, equalizedImage);return equalizedImage;}// 彩色图均衡化static cv::Mat equalizeColorImage(const cv::Mat image) {// 转换到YUV空间cv::Mat yuvImage;cv::cvtColor(image, yuvImage, cv::COLOR_BGR2YUV);// 分离通道std::vectorcv::Mat channels;cv::split(yuvImage, channels);// 仅均衡化亮度通道cv::equalizeHist(channels[0], channels[0]);// 合并通道cv::merge(channels, yuvImage);// 转换回BGRcv::Mat equalizedImage;cv::cvtColor(yuvImage, equalizedImage, cv::COLOR_YUV2BGR);return equalizedImage;}// 自适应直方图均衡化(CLAHE)static cv::Mat adaptiveHistogramEqualization(const cv::Mat image, double clipLimit 2.0) {cv::Mat yuvImage;cv::cvtColor(image, yuvImage, cv::COLOR_BGR2YUV);std::vectorcv::Mat channels;cv::split(yuvImage, channels);// 创建CLAHE对象cv::Ptrcv::CLAHE clahe cv::createCLAHE(clipLimit, cv::Size(8, 8));clahe-apply(channels[0], channels[0]);cv::merge(channels, yuvImage);cv::Mat equalizedImage;cv::cvtColor(yuvImage, equalizedImage, cv::COLOR_YUV2BGR);return equalizedImage;} }; 4、直方图比较 class HistogramComparator { public:// 直方图比较方法enum CompareMethod {CORRELATION cv::HISTCMP_CORREL,CHI_SQUARE cv::HISTCMP_CHISQR,INTERSECTION cv::HISTCMP_INTERSECT,BHATTACHARYYA cv::HISTCMP_BHATTACHARYYA};// 比较两个直方图static double compareHistograms(const cv::Mat hist1, const cv::Mat hist2, CompareMethod method CORRELATION) {return cv::compareHist(hist1 , hist2, method);} };// 使用示例 cv::Mat image1 cv::imread(image1.jpg, cv::IMREAD_GRAYSCALE); cv::Mat image2 cv::imread(image2.jpg, cv::IMREAD_GRAYSCALE);cv::Mat hist1 calculateGrayscaleHistogram(image1); cv::Mat hist2 calculateGrayscaleHistogram(image2);double similarity HistogramComparator::compareHistograms(hist1, hist2, HistogramComparator::CORRELATION); std::cout Histogram similarity: similarity std::endl; cpp // 重新合并通道 cv::Mat processedImage; cv::merge(channels, processedImage); return processedImage; }// 使用示例 cv::Mat inputImage cv::imread(input.jpg); cv::Mat outputImage processImageChannels(inputImage);// 显示结果 cv::imshow(Processed Image, outputImage); cv::waitKey(0); cv::destroyAllWindows();cpp // 重新合并通道 cv::Mat processedImage; cv::merge(channels, processedImage); return processedImage; }// 使用示例 cv::Mat inputImage cv::imread(input.jpg); cv::Mat outputImage processImageChannels(inputImage);// 显示结果 cv::imshow(Processed Image, outputImage); cv::waitKey(0); cv::destroyAllWindows(); }
http://www.w-s-a.com/news/398308/

相关文章:

  • 中国有多少网站有多少域名上海网站建设网页制作邢台
  • 网站 数据报表如何做室内设计联盟官方网站入口
  • 怎样建设网站论文合肥做网站的软件公司
  • 收款后自动发货的网站是怎么做的怎么看网站后台网页尺寸
  • 谷歌seo引擎优化宁波seo关键词
  • 外贸网站建设需要注意什么seo课程
  • 做信息图网站网站建设的软件介绍
  • 网站开发语言数据库有几种魏县审批建设的网站
  • 北京公司网站建设推荐海口建设
  • 不懂编程如何做网站婚礼网站模板
  • 像京东一样的网站wordpress入门视频教程7 - 如何在文章里加入视频和音乐
  • 惠州网站建设排名wordpress3万篇文章优化
  • 创建网站的三种方法北京建王园林工程有限公司
  • jsp网站建设模板下载十大免费excel网站
  • 网络公司网站图片网站建立好了自己怎么做优化
  • 云主机是不是可以搭建无数个网站百度快速seo优化
  • 房地产怎么做网站推广建立音乐网站
  • 川畅科技联系 网站设计网站开发的教学视频
  • 为什么学网站开发凡科登陆
  • 设计师常备设计网站大全中山精品网站建设信息
  • 杭州建设工程网seo服务是什么
  • 兼职做问卷调查的网站wordpress mysql设置
  • 怎么在百度上能搜到自己的网站山西seo谷歌关键词优化工具
  • 网站搭建免费模板飞鱼crm下载
  • 网站开发竞品分析app制作公司深圳
  • 网站建设ssc源码修复设计班级网站建设
  • 网站重定向凡科做网站不要钱
  • 佛山html5网站建设微信营销软件破解版
  • 网站单页做301南京百度推广
  • 私人做网站要多少钱展芒设计网页