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

电商模板网站艾艺的品牌网站设计

电商模板网站,艾艺的品牌网站设计,网页版梦幻西游下载,自己做的网站怎么放视频【欢迎关注编码小哥#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/621626/

相关文章:

  • 建设部网站官网 施工许可怎样建网站 需要
  • 什么网站都能打开的浏览器同城小程序怎么推广
  • 在电脑上怎么做网站网址seo分析
  • 石家庄做网站网络公司电子商务营销推广
  • 网站开发 前端专做婚礼logo的网站
  • 同创企业网站建设拖拽建设网站源码
  • wordpress调用网站标题网站页面排版
  • 哈尔滨营销网站建设电子商城网站开发要多少钱
  • 免费织梦导航网站模板下载地址自己建站网站
  • 获取网站访客qq号码代码做抽奖网站违法吗
  • 湖南大型网站建设公司排名偷网站源码直接建站
  • 网站建设周期规划北京网站设计必看刻
  • 如何做自己的在线作品网站深圳网站设计公司的
  • 网站开发外包公司wordpress最简单模板
  • 湖南省建设人力资源网站wordpress主机pfthost
  • 淮安软件园哪家做网站各网站特点
  • 网站长尾关键词排名软件重庆荣昌网站建设
  • 建个商城网站多少钱茂名专业网站建设
  • 开通公司网站免费的网站app下载
  • 跨境电商网站模板wordpress壁纸
  • 国内做网站网站代理电子商务网站建设与维护概述
  • 如何做地方网站推广沈阳网势科技有限公司
  • 哈尔滨网站优化技术涵江网站建设
  • 做网站搞笑口号wordpress全屏动画
  • 怎么可以建网站小程序代理项目
  • 怎样做软件网站哪个网站用帝国cms做的
  • 网站开发编程的工作方法wordpress dux-plus
  • 廊坊电子商务网站建设公司网站进不去qq空间
  • 南宁网站推广费用创意网页设计素材模板
  • 深圳技术支持 骏域网站建设wordpress 酒主题