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

龙岗做手机网站windows建立网站

龙岗做手机网站,windows建立网站,沈阳网站制作公司哪家好,龙岩微信小程序定制【欢迎关注编码小哥#xff0c;学习更多实用的编程方法和技巧】 1、基本方法---线性变换 // 亮度和对比度调整 cv::Mat adjustBrightnessContrast(const cv::Mat src, double alpha, int beta) {cv::Mat dst;src.convertTo(dst, -1, alpha, beta);return dst; }// 使用…【欢迎关注编码小哥学习更多实用的编程方法和技巧】 1、基本方法---线性变换 // 亮度和对比度调整 cv::Mat adjustBrightnessContrast(const cv::Mat src, double alpha, int beta) {cv::Mat dst;src.convertTo(dst, -1, alpha, beta);return dst; }// 使用示例 cv::Mat image cv::imread(image.jpg); cv::Mat brightened adjustBrightnessContrast(image, 1.0, 50); // 增加亮度 cv::Mat darkened adjustBrightnessContrast(image, 1.0, -50); // 降低亮度 cv::Mat increased_contrast adjustBrightnessContrast(image, 1.5, 0); // 增加对比度 2、通道分离调整 cv::Mat adjustChannelBrightness(const cv::Mat src) {// 分离BGR通道std::vectorcv::Mat channels;cv::split(src, channels);// 调整蓝色通道亮度channels[0] channels[0] * 1.2 30;// 重新合并通道cv::Mat result;cv::merge(channels, result);return result; } 3、查找表方法 cv::Mat createBrightnessLUT(double contrast, int brightness) {cv::Mat lookupTable(1, 256, CV_8U);uchar* lut lookupTable.ptr();for (int i 0; i 256; i) {// 对比度和亮度调整公式lut[i] cv::saturate_castuchar(contrast * i brightness);}return lookupTable; }// 应用LUT cv::Mat applyLUTAdjustment(const cv::Mat src, double contrast, int brightness) {cv::Mat lookupTable createBrightnessLUT(contrast, brightness);cv::Mat result;cv::LUT(src, lookupTable, result);return result; } 4、高级对比度增强 cv::Mat enhanceContrast(const cv::Mat src) {cv::Mat dst;// 直方图均衡化if (src.channels() 1) {// 灰度图cv::equalizeHist(src, dst);} else {// 彩色图转换到YUV空间cv::Mat yuv;cv::cvtColor(src, yuv, cv::COLOR_BGR2YUV);// 仅均衡化亮度通道std::vectorcv::Mat channels;cv::split(yuv, channels);cv::equalizeHist(channels[0], channels[0]);// 合并通道cv::merge(channels, yuv);cv::cvtColor(yuv, dst, cv::COLOR_YUV2BGR);}return dst; } 5、伽马校正  cv::Mat gammaCorrection(const cv::Mat src, double gamma 1.0) {cv::Mat dst;// 归一化cv::Mat normalized;src.convertTo(normalized, CV_32F, 1.0/255);// 伽马变换cv::pow(normalized, gamma, dst);// 还原到0-255dst dst * 255;dst.convertTo(dst, CV_8U);return dst; }// 使用示例 cv::Mat gammaEnhanced1 gammaCorrection(image, 0.5); // 变亮 cv::Mat gammaEnhanced2 gammaCorrection(image, 2.0); // 变暗 6、自适应对比度增强  cv::Mat adaptiveContrastEnhancement(const cv::Mat src) {cv::Mat lab;cv::cvtColor(src, lab, cv::COLOR_BGR2Lab);// 分离通道std::vectorcv::Mat channels;cv::split(lab, channels);// 限制对比度自适应直方图均衡化(CLAHE)cv::Ptrcv::CLAHE clahe cv::createCLAHE(2.0, cv::Size(8, 8));clahe-apply(channels[0], channels[0]);// 合并通道cv::merge(channels, lab);cv::Mat result;cv::cvtColor(lab, result, cv::COLOR_Lab2BGR);return result; } 7、通用图像增强类  class ImageEnhancer { private:cv::Mat image;public:ImageEnhancer(const cv::Mat src) : image(src.clone()) {}// 线性变换cv::Mat linearTransform(double contrast 1.0, int brightness 0) {cv::Mat dst;image.convertTo(dst, -1, contrast, brightness);return dst;}// 伽马校正cv::Mat gammaCorrection(double gamma 1.0) {cv::Mat normalized, corrected;image.convertTo(normalized, CV_32F, 1.0/255);cv::pow(normalized, gamma, corrected);corrected corrected * 255;cv::Mat result;corrected.convertTo(result, CV_8U);return result;}// 自适应对比度增强cv::Mat adaptiveCLAHE() {cv::Mat lab;cv::cvtColor(image, lab, cv::COLOR_BGR2Lab);std::vectorcv::Mat channels;cv::split(lab, channels);cv::Ptrcv::CLAHE clahe cv::createCLAHE(2.0, cv::Size(8, 8));clahe-apply(channels[0], channels[0]);cv::merge(channels, lab);cv::Mat result;cv::cvtColor(lab, result, cv::COLOR_Lab2BGR);return result;} };// 使用示例 cv::Mat image cv::imread(image.jpg); ImageEnhancer enhancer(image);cv::Mat brightened enhancer.linearTransform(1.0, 50); cv::Mat gammaEnhanced enhancer.gammaCorrection(0.5); cv::Mat adaptiveEnhanced enhancer.adaptiveCLAHE(); 8、完整示例 int main() {// 读取图像cv::Mat image cv::imread(image.jpg);// 创建增强器ImageEnhancer enhancer(image);// 多种增强方法cv::Mat result1 enhancer.linearTransform(1.2, 30); // 增加亮度和对比度cv::Mat result2 enhancer.gammaCorrection(0.8); // 伽马校正cv::Mat result3 enhancer.adaptiveCLAHE(); // 自适应对比度增强// 显示结果cv::imshow(Original, image);cv::imshow(Brightened and Enhanced, result1);cv::imshow(Gamma Corrected, result2);cv::imshow(Adaptive CLAHE, result3);cv::waitKey(0);return 0; } 注意事项 使用cv::saturate_cast防止溢出注意数据类型转换考虑图像通道数处理边界情况性能优化 性能建议 使用cv::Mat操作替代逐像素遍历利用OpenCV的矩阵运算对于大图像考虑并行处理使用cv::cuda进行GPU加速
http://www.w-s-a.com/news/121251/

相关文章:

  • 建网站内容谷歌搜索引擎优化
  • 网站建设与管理案例教程第三版答案网站建设策划书范文六篇精选
  • 建设工程项目在哪个网站查询实时网站推广的最终目的是
  • 个人网站可以做淘客网站设置的参数
  • 自适应网站制作公司做室内设计通常上的网站
  • 网站建设项目采购公告建设网站公司建网页
  • 自己做网站怎么推广网站建设应该考虑哪些方面
  • 我做的网站手机上不了wordpress插件整站搬家
  • 河南省和建设厅网站首页西安找建网站公司
  • 网页设计基础代码网站进出成都最新通知
  • 如何创建网站乐清网络科技有限公司
  • 沈阳市网站制作艺术字体logo设计生成器
  • 网站设计常用软件都有哪些中国建设银行官方招聘网站
  • 证券投资网站建设视频直播怎么赚钱的
  • 建设酒店网站ppt模板下载郑州小程序设计外包
  • 网站建设自我总结google推广公司
  • 安全网站建设情况wordpress 评论表单
  • 网站建设发言材料个人网站推广软件
  • php建站软件哪个好南京哪家做网站好
  • 排名好的手机网站建设番禺网站建设专家
  • 番禺怎么读百度有专做优化的没
  • 网站开发中应注意哪些问题网络营销的主要特点
  • 网站定制案例北京网站制作招聘网
  • 网站建设与推广实训小结网站建设专业英文
  • 郑州网站建设动态凡科网站建设是免费的吗
  • 湖北手机网站建设wordpress转emlog博客
  • 北京东站设计网名的花样符号
  • 安徽建设厅网站首页网站开发aichengkeji
  • 自贡网站制作荣茂网站建设
  • 什么做的网站吗正规的机械外包加工订单网