【c++|opencv】二、灰度变换和空间滤波---1.灰度变换、对数变换、伽马变换

这篇具有很好参考价值的文章主要介绍了【c++|opencv】二、灰度变换和空间滤波---1.灰度变换、对数变换、伽马变换。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

every blog every motto: You can do more than you think.
https://blog.csdn.net/weixin_39190382?type=blog

0. 前言

灰度变换、对数变换、伽马变换

1. 灰度变换

#include <iostream>
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main() 
{
    
    Mat img,out_img,img_gray;
    img = imread("/home/v/home.png");
    if (img.empty()){
        cout << "Could not open or find the image" << endl;
        return -1;
    }

    cvtColor(img, img_gray, COLOR_BGR2GRAY);
    imshow("img gray",img_gray); 

    out_img = img_gray.clone();
    for (int i=0;i<img_gray.rows;i++){
        for (int j=0;j<img_gray.cols;j++){
            // 灰度翻转
            out_img.at<uchar>(i,j) = 255 - img_gray.at<uchar>(i,j); 
        }
    }
    
    imshow("灰度翻转",out_img);
    waitKey(0);
    return 0;
    
}

【c++|opencv】二、灰度变换和空间滤波---1.灰度变换、对数变换、伽马变换,c++|opencv,opencv,c++,人工智能

2. 对数变换

#include <iostream>
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;


int main() 
{
    
    Mat img,out_img,img_gray;
    img = imread("/home/v/home.png");
    if (img.empty()){
        cout << "Could not open or find the image" << endl;
        return -1;
    }

    cvtColor(img, img_gray, COLOR_BGR2GRAY);
    imshow("img gray",img_gray); 

    out_img = img_gray.clone();
    for (int i=0;i<img_gray.rows;i++){
        for (int j=0;j<img_gray.cols;j++){
            // 对数变换6*log(r+1) 伽马变换
            out_img.at<uchar>(i,j) = 6*log((double)(img_gray.at<uchar>(i,j)) + 1);
        }
    }

    normalize(out_img,out_img,0,255,NORM_MINMAX); // 图像归一化
    convertScaleAbs(out_img,out_img); // 数据类型转换到CV_8U
    
    imshow("对数变换",out_img);
    waitKey(0);
    return 0;
    
}

【c++|opencv】二、灰度变换和空间滤波---1.灰度变换、对数变换、伽马变换,c++|opencv,opencv,c++,人工智能

3. 伽马变换

#include <iostream>
#include <opencv2/opencv.hpp>


using namespace std;
using namespace cv;


int main() 
{
    
    Mat img,out_img,img_gray;
    img = imread("/home/v/home.png");
    if (img.empty()){
        cout << "Could not open or find the image" << endl;
        return -1;
    }

    cvtColor(img, img_gray, COLOR_BGR2GRAY);
    imshow("img gray",img_gray); 

    out_img = img_gray.clone();
    for (int i=0;i<img_gray.rows;i++){
        for (int j=0;j<img_gray.cols;j++){
            // 伽马变换6*r^0.5
            out_img.at<uchar>(i,j) = 6*pow((double)(img_gray.at<uchar>(i,j)),0.5);
        }
    }

    normalize(out_img,out_img,0,255,NORM_MINMAX); // 图像归一化
    convertScaleAbs(out_img,out_img); // 数据类型转换到CV_8U
    
    imshow("伽马变换",out_img);
    waitKey(0);
    return 0;
    
}

【c++|opencv】二、灰度变换和空间滤波---1.灰度变换、对数变换、伽马变换,c++|opencv,opencv,c++,人工智能文章来源地址https://www.toymoban.com/news/detail-736990.html

到了这里,关于【c++|opencv】二、灰度变换和空间滤波---1.灰度变换、对数变换、伽马变换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【c++|opencv】二、灰度变换和空间滤波---2.直方图和均衡化

    every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?type=blog 图像直方图、直方图均衡化

    2024年02月06日
    浏览(34)
  • 第三章 灰度变换与空间滤波

    3.1背景知识 ​ 空间域指图像平面本身。变换域的图像处理首先把一幅图像变换到变换域,在变换域中进行处理,然后通过反变换把处理结果返回到空间域。空间域处理主要分为灰度变换与空间滤波。 3.1.1 灰度变换和空间滤波基础 ​ g(x,y) = T[f(x,y)] ​ 其中f(x,y)是输入图像,

    2024年02月03日
    浏览(24)
  • Halcon 赃污检测(高斯滤波图,傅里叶变换,灰度差过滤)

    链接:https://pan.baidu.com/s/1PCam-4jnNOtBOixrK6Gdhw 提取码:bkqd

    2024年02月13日
    浏览(39)
  • 基于opencv的c++图像处理(灰度变换)

    基于opencv的c++接口,实现常用的图像灰度变换方法,包括了线性变换、图像反转、对数变换和伽马变换。 函数 cv::normalize 标准化缩放和移动输入数组元素 当 normType=NORM_MINMAX 时(仅适用于密集数组)。可选掩码指定要规范化的子数组。这意味着在子数组上计算范数或 min-n-ma

    2024年02月04日
    浏览(50)
  • 一些常见分布-正态分布、对数正态分布、伽马分布、卡方分布、t分布、F分布等

    目录 正态分布 对数正态分布  伽马分布 伽马函数 贝塔函数

    2024年02月07日
    浏览(31)
  • OpenCV-空间滤波学习笔记

    了解和实践OpenCV在空间滤波上的应用。 Source:机器视觉技术与应用_中国大学MOOC(慕课) (icourse163.org) 当图像中的边缘信息和卷积核的形状是相符合的,得到的响应值最大。 中值滤波 均值滤波 高斯均值滤波 Sobel边缘提取 中值滤波 实验用图 带有椒盐噪声的图像: 实验代码 #i

    2024年01月17日
    浏览(30)
  • OpenCV(图像颜色空间变换)

    目录 1、分类 1.1 RGB颜色模型  1.2 HSV颜色模型 1.3 GRAY颜色模型 2、图像数据类型间的相互转换  3 、颜色转换函数 RGBHSVGRAY颜色模型。 1.1 RGB颜色模型  1.2 HSV颜色模型 1.3 GRAY颜色模型 第四个参数使用例子:有一图像通道数为5,只需要用到前3个通道,就可以设置通道数为3  使

    2024年02月12日
    浏览(39)
  • Android Studio Electric Eel 2022.1.1 Patch 2 导入opencv 4.5,并实现图片灰度变换和图片叠加

    Android Studio Electric Eel 2022.1.1 Patch 2 https://sourceforge.net/projects/opencvlibrary/files/4.5.0/opencv-4.5.0-android-sdk.zip/download with API23: 导入opencv sdk: File-New-Import Module 添加工程依赖:File-Project Structure, sdk为opencv sdk. plugins { id ‘com.android.application’ version ‘7.4.2’ apply false id ‘com.android.library’

    2024年02月05日
    浏览(51)
  • 《数字图像处理-OpenCV/Python》连载:空间滤波之高斯滤波器

    本书京东 优惠购书链接 https://item.jd.com/14098452.html 本书CSDN 独家连载专栏 https://blog.csdn.net/youcans/category_12418787.html 图像滤波是指在尽可能保留图像细节特征的条件下对目标图像的噪声进行抑制,是常用的图像处理方法。 空间滤波也称空间域滤波,滤波器规定了邻域形状与邻域

    2024年02月02日
    浏览(37)
  • 数字图像处理中对数变换与Gamma变换

    1.对数变换 图像的对数变换主要的作用是压缩动态范围,原因是对数曲线在像素值较低的区域斜率大,在像素值较高的区域斜率较小,所以图像经过对数变换后,较暗区域的对比度将有所提升,所以就可以增强图像的暗部细节。 其中, c c c 是一个常数, f f f 是浮点数。对数

    2024年02月07日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包