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

做产品表情的网站乐云seo官网

做产品表情的网站,乐云seo官网,耒阳市人民政府门户网站,自己做的网站怎么发布win7图像变换:点运算、灰度变换、直方图变换 1.点运算(1)What(2)Why 2.灰度变换(1)What(2)Why(作用)(3)Which(有哪些灰度变换) 3.直方图修正(1)直方图均衡化 1.点运算 (1)What 通过点运算,输出图像的每个像素的灰度值仅仅取决于输入图像中相对应…

图像变换:点运算、灰度变换、直方图变换

  • 1.点运算
    • (1)What
    • (2)Why
  • 2.灰度变换
    • (1)What
    • (2)Why(作用)
    • (3)Which(有哪些灰度变换)
  • 3.直方图修正
    • (1)直方图均衡化

1.点运算

(1)What

通过点运算,输出图像的每个像素的灰度值仅仅取决于输入图像中相对应像素的灰度值。

(2)Why

点运算的作用:实现图像增强的常用方法之一

2.灰度变换

(1)What

灰度变换是一种点运算的具体形式,换句话说,灰度变换是点运算的一种运用

(2)Why(作用)

增强对比度,是增强图像的重要手段(途径)和方法

  • 改善图像的质量:显示更多细节,进行对比度拉伸
  • 突出感兴趣的特征:针对图像中感兴趣的区域进行突出或抑制

(3)Which(有哪些灰度变换)

核心:灰度变换函数的不同

  • A.线性灰度变换
    y = k * f(x) + b
    当k>1:对比度将增大
    当k<1:对比度将减小
    当k=1,b!=0:图像整体变亮或变暗
    当k=-1,b=255:图像灰度正好相反
    当k<0,b>0:暗区域变亮,亮区域变暗
  • B.分段线性灰度变换

在这里插入图片描述
确定分段函数的三个k值和b值即可实现分段灰度变换效果。
分段线性灰度变换的效果对参数的选取依赖很高,当参数选取不好的时候,不但无法实现增强图像的效果,还可能变得更加糟糕。为此实现自适应选取成为分段线性灰度变换的关键。目前常用的方法有:自适应最小误差法多尺度逼近方法
恒增强率方法等。

  • C.非线性变换-对数变换
    g(x) = c * log(1+f(x))
  • D.非线性变换-反对数变换
    g(x) = ( (f(x)+1)^r -1 ) / f(x)
  • E.非线性变换-幂律变换
    g(x) = c*f(x)^alpha

3.直方图修正

(1)直方图均衡化

直方图均衡化可实现图像的自动增强,但效果不易控制,得到的是全局增强的结果
  • step01:统计每一个灰度级的数量
// 统计输入图像的灰度级数量
std::vector<int> vNk(256, 0);
int iTotal = imDst.total();
for (int i = 0; i < imDst.total(); ++i)
{vNk[imDst.data[i]]++;
}
  • step02:求累积分布
// 求累积分布函数
for (int i = 1; i < 256; ++i)
{vNk[i] = vNk[i] + vNk[i - 1];
}
  • step03:建立映射关系
// 确定映射关系
std::vector<double> vMPk(256, 0.0);
for (int i = 0; i < 256; ++i)
{vMPk[i] = 255.0f * (double)vNk[i] / iTotal;
}
// 重新赋值实现均衡化
for (int i = 0; i < iTotal; ++i)
{imDst.data[i] = vMPk[imDst.data[i]];
}

代码汇总如下(可直接使用):

/* 图像均衡化 */
int ImgEqualize(const cv::Mat& imSrc, cv::Mat& imDst) {// 对输入的数据进行可靠性判定if (imSrc.empty()) return -1;// 对输入图像进行灰度化处理if (imSrc.channels() == 3)cv::cvtColor(imSrc, imDst, cv::COLOR_RGB2GRAY);else imDst = imSrc;// 统计输入图像的灰度级数量std::vector<int> vNk(256, 0);int iTotal = imDst.total();for (int i = 0; i < imDst.total(); ++i){vNk[imDst.data[i]]++;}// 求累积分布函数for (int i = 1; i < 256; ++i){vNk[i] = vNk[i] + vNk[i - 1];}// 确定映射关系std::vector<double> vMPk(256, 0.0);for (int i = 0; i < 256; ++i){vMPk[i] = 255.0f * (double)vNk[i] / iTotal;}// 重新赋值实现均衡化for (int i = 0; i < iTotal; ++i){imDst.data[i] = vMPk[imDst.data[i]];}}
http://www.dt0577.cn/news/33625.html

相关文章:

  • 网站开发的经费预算军事新闻今日最新消息
  • 网站内容建设的核心和根本是深圳20网络推广
  • 建一个域名网站要多少钱品牌营销推广
  • 国内用什么做网站苏州百度推广开户
  • 河南郑州建设信息网网站seo外包价格
  • 品牌网页设计图片搜索引擎营销优化策略有哪些
  • 网站开发论文近三年的参考文献2022智慧树互联网与营销创新
  • wordpress织梦哪个好seo搜索引擎优化教程
  • 零售电商360seo排名点击软件
  • 张北北京网站建设推广效果最好的平台
  • 丹东网站建设公司百度怎么推广自己的网站
  • wordpress 仿凡客网络推广和seo
  • 青岛做网站公司有哪些国内重大新闻十条
  • 做cpa的博客网站类型什么建站程序最利于seo
  • 网站设计机构南京网络推广优化哪家好
  • dns 国外网站优化技术基础
  • 在哪个网站找学做包子网站数据分析案例
  • 为了 门户网站建设公司网站建设价格
  • 旅游网站前端模板自媒体培训
  • 顺德人做多上哪个网站关于进一步优化 广州
  • 沈阳网站推广排名方案百度怎么发广告
  • 南宁seo费用服务西安seo代运营
  • 学会网站建设全国人大常委会
  • 各大网站官网的导航栏怎么做近一周新闻热点事件
  • 凡科官网免费制作百度手机端排名如何优化
  • 广东省做网站的公司seo营销培训咨询
  • 做视频网站空间要多大怎么创建网站免费建立个人网站
  • 国内最好的wordpress主题百度上做优化
  • 河北软件开发网站建设山东服务好的seo
  • 海外代购网站怎么做seo优化查询