幂律(伽马)变换

#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace std;
using namespace cv;
int main()
{
    //引入图像
    Mat src, dst;
    src = imread("C:\\Users\\pc\\Pictures\\Camera Roll\\2.jpeg");

    //伽马变换
    imshow("src", src);
    //convertTo函数里面的参数1.0/255.0指灰度的精度。这里设置为每一个灰度刻度大小为1.0/255.0。
    //convertTo函数把一个矩阵从一种数据类型转换到另一种数据类型,方便接下来的处理。具体用法以后再去了解
    src.convertTo(src, CV_64F,1.0/255.0); //转化为32位浮点型并归一化处理
    int height = src.rows;
    int width = src.cols*3;
    dst = cv::Mat::zeros(src.size(), src.type());//得到一个大小与数据类型均与src相同的0矩阵(即全黑矩阵,灰度值为0就是全黑)
    float gamma = 1.5;//gamma就是伽马变换公式中的指数γ。
    for (int i = 0; i < height; i++)
    {
        for (int j = 0; j < width; j++)
        {
            //Mat类中的at方法作用:用于获取图像矩阵某点的值或改变某点的值。
            dst.at<double>(i, j) = std::pow(src.at<double>(i, j), gamma);
            //std::pow(x,y),计算x的y次方.这里就是src.at<double>(i, j)返回的矩阵中某
            //点的值做底数,gamma做指数。
        }
    }
    dst.convertTo(dst, CV_8U, 255.0);

    //输出图像

    //imshow("src", src);
    imshow("dst", dst);
    waitKey(0);
    return 0;
}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab的伽马变换是一种图像处理技术,用于调整图像的亮度和对比度。伽马变换的目的是通过对图像的每个像素进行非线性映射,改变图像的灰度级分布。 在Matlab中,可以使用不同的方法实现伽马变换。以下是三种常见的伽马变换方法: 1. 对数变换:通过将像素值取对数,并进行线性缩放,增强低灰度级,并抑制高灰度级。可以使用mat2gray和log函数实现对数变换。 2. 灰度反转:通过将图像的灰度级取反,即255减去原始灰度级的值,实现对图像的反转。可以使用imcomplement函数实现灰度反转。 3. Gamma变换:通过使用自定义的伽马映射函数,将输入图像的灰度级映射到新的灰度级。可以使用自定义的映射函数来实现Gamma变换。 以上是几种常见的Matlab伽马变换方法,可以根据具体的需求选择合适的方法进行图像处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [数字图像处理--matlab图像反转、对数变换伽马变换、对比度拉伸详解和代码实现](https://blog.csdn.net/fcxgfdjy/article/details/130458276)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Gamma变换算法之Matlab&FPGA实现](https://blog.csdn.net/crazybingofpga/article/details/120790748)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值