文档章节

直方图拉伸

天蚕宝衣
 天蚕宝衣
发布于 2017/03/23 11:08
字数 475
阅读 15
收藏 0
点赞 0
评论 0

下边是主函数: 

% picturelong1.m

p = imread('F:/personal/2_硕士/1_2_研一下学期/3_图像处理技术(李智)/2017.03.15/0_picturelong1/lena512.bmp');
%rgb2gray()函数能将彩色图像转换成灰度图像。
%p = rgb2gray(p); 
figure, imshow(p);
%figure, imhist(p);

%读取灰度图像的灰度值。
%imread函数用于读入各种图像文件,其一般的用法为
%[X,MAP]=imread('filename', 'fmt')
%其中,X,MAP分别为读出的图像数据和颜色表数据,fmt为图像的格式,
%filename为读取的图像文件(可以加上文件的路径)。
%例:[X, MAP] = imread('flowers.tif', 'tif');
%比较读取二值图像,灰度图像,索引图像,彩色图像的X和MAP的特点,
%可以利用size函数用来显示数组的维数,了解数据的特点。
%B=size(a) 返回数组a的维数。
[X, MAP] = imread('F:/personal/2_硕士/1_2_研一下学期/3_图像处理技术(李智)/2017.03.15/0_picturelong1/lena512.bmp', 'bmp');
original = X;

%线性对比度拉伸。
LinearTransformFunc(original);

%指数对比度拉伸。
IndexTransformFunc(original);

%对数对比度拉伸。
LogarithmTransformFunc(original);

然后是三个做图像拉伸的函数:

% LinearTransformFunc.m

% 线性对比度拉伸。
function [ new ] = LinearTransformFunc(original)
    %输入线性变换的斜率k。
    k = input('please input the slope(k) of grayscale linear transformation function:\n');
    %输入线性变换的b值。
    b = input('please input the intercept(b) of grayscale linear transformation function:\n');     
    new = original * k + b;
    figure, imshow(new);
end
% IndexTransformFunc.m

% 指数对比度拉伸。
function [ new ] = IndexTransformFunc(original)
    %输入对数变换的x值。
    x = input('please input the intercept(b) of grayscale index transformation function:\n');      
    B = im2double(original);
    new = B.^x;
    figure, imshow(new);
end
%LogarithmTransformFunc.m

% 对数对比度拉伸。
function [ new ] = LogarithmTransformFunc(original) 
    %输入对数变换的t值。
    t = input('please input the intercept(b) of grayscale logarithm transformation function:\n');
    B = im2double(original);
    B = abs(B);
    new = log(B + t);
    
    %输入对数变换的t值。
    %t = input('please input the intercept(b) of grayscale logarithm transformation function:\n');
    %对数对比度拉伸。
    %logarithmtransformed = LogarithmTransformFunc(original, t);
    figure, imshow(new);
end

 

© 著作权归作者所有

共有 人打赏支持
天蚕宝衣
粉丝 18
博文 237
码字总数 178069
作品 0
天津
Win8Metro(C#)数字图像处理--2.31灰度拉伸算法

原文:Win8Metro(C#)数字图像处理--2.31灰度拉伸算法  [函数名称] 灰度拉伸函数GrayStretchProcess(WriteableBitmap src) [算法说明] 直方图灰度拉伸也叫做对比度拉伸,是一种特殊的线性点...

杰克.陈
03/13
0
0
【图像处理】图像强度变换、直方图均衡化(Image Intensity Transformations and Histogram Equalization)

实验要求   该实验使用强度变换方法对图像进行增强。实验图像为图3.8(a)   (1.a) 用公式(3.2-2)所示的对数变换方法进行图像增强。   (1.b) 用公式(3.2-3)形式的指数变换方法进行图像增...

u013165921
01/14
0
0
图像预处理|直方图均衡

直方图是什么 图像直方图是反映一个图像像素分布的统计表,其实横坐标代表了图像像素的种类,可以是灰度的,也可以是彩色的。纵坐标代表了每一种颜色值在图像中的像素总数或者占所有像素个数...

darlingwood2013
2017/05/23
0
0
Win8Metro(C#)数字图像处理--2.30直方图均衡化

原文:Win8Metro(C#)数字图像处理--2.30直方图均衡化 [函数名称] 直方图均衡化函数HistogramEqualProcess(WriteableBitmap src) [算法说明] 直方图均衡化,又叫做直方图修平,是对图像进行非线...

杰克.陈
03/13
0
0
深度学习必备---用Keras和直方图均衡化---数据增强

作者:王抒伟 编辑:王抒伟 本文100字3图,阅读约三分钟 算了 爱看多久看多久 在读这技术文章之前,请大家想象一个标准河南口音的娃在读这篇文章,那么你不知不觉,你的嘴角就上扬咯。 俺、遇...

机器学习算法全栈工程师
01/26
0
0
安卓智能地图开发与实施二十一:栅格渲染器 - ArcGIS Runtime SDK for Android(Version 100.1.0)

栅格渲染器(RasterRenderer) 与矢量渲染类似, RasterRenderer能够对栅格图层( RasterLayer )进行展示和可视化。目前包括以下内容: HillshadeRenderer BlendRenderer ColormapRenderer...

allenlu2008
2017/10/26
0
0
OpenCV 2.4+ C++ 人脸识别

机器学习 机器学习的目的是把数据转换成信息。 机器学习通过从数据里提取规则或模式来把数据转成信息。 人脸识别 人脸识别通过级联分类器对特征的分级筛选来确定是否是人脸。 每个节点的正确...

j_m
2012/11/26
0
0
(三)matlab数字图像处理实验-图像灰度变换处理

前两节都是熟悉一下怎么在matlab底下对图片做一些操作,并没有什么卵用,这一节稍微有点卵用,灰度变换一般是图像处理的第一步。 数字图像处理实验1-9点击下列链接有源码和链接: matlab数字...

aninstein
01/06
0
0
py3+tensorflow+opencv基于深度学习制作人脸识别系统学习历程(持续更新)

3.15 开始项目学习历程 。 有面向对象和面向过程编程的基础开始了人工智能的学习,以后每天都会报告工作任务和好的资源分享以及学习体会 1. 关于人脸识别系统 https://www.cnblogs.com/gbin...

qq_34465787
03/15
0
0
从0打造一个GPUImage(4)

用容易理解的语言讲一些不太容易理解的概念. 答疑 上一章提了个问题,就是如何写fragment shader绘制 -w200 这样的图像。 现在揭晓一下答案。 ContentMode UIImageView的contentMode经常使用...

叶孤城___
2017/11/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Confluence 6 配置时间和日期格式

你可以修改你 Confluence 为用户显示的时期和时间格式。设置的句法使用的是 SimpleDateFormat class,请参考 Java SimpleDateFormat 文档中的内容来设置日期和时间格式。 有下面 3 个时间和日...

honeymose
10分钟前
0
0
php seralize unserialize

关于PHP 序列化(serialize)和反序列化(unserialize)出现错误(Error at offset)的解决办法。 首先我们分析一下为什么会出现这个错误: 编码问题 UTF-8: ANSI: 我发现在我的机器上边编码改...

yeahlife
16分钟前
0
0
七、JSP九大内置对象和四个作用域

九大内置对象: request:类型是HttpServletRequest,和Servlet里的HttpServletRequest一模一样。 response:类型是HttpServletResponse,和Servlet里的HttpServletResponse一模一样。JSP里基...

Wakeeee_
19分钟前
0
0
第十四章NFS服务搭建与配置

14.1 NFS介绍 NFS介绍 NFS是Network File System的缩写;这个文件系统是基于网路层面,通过网络层面实现数据同步 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netap...

Linux学习笔记
51分钟前
0
0
双向认证-nginx

1、设置容器 docker run -it --name nginx-test2 -v /home/nginx:/apps -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro -p 8183:80 -p 7443:443 -d nginx:stable 2、修改nginx配......

hotsmile
52分钟前
0
0
深入了解 Java 自动内存管理机制及性能优化

一图带你看完本文 一、运行时数据区域 首先来看看Java虚拟机所管理的内存包括哪些区域,就像我们要了解一个房子,我们得先知道这个房子大体构造。根据《Java虚拟机规范(Java SE 7 版)》的规...

Java大蜗牛
54分钟前
4
0
SpringBoot | 第六章:常用注解介绍及简单使用

前言 之前几个章节,大部分都是算介绍springboot的一些外围配置,比如日志 配置等。这章节开始,开始总结一些关于springboot的综合开发的知识点。由于SpringBoot本身是基于Spring和SpringMvc...

oKong
54分钟前
9
0
云数据库架构演进与实践

如今,大型企业如金融企业和银行等,在下一代的微服务架构转型要求下,需要基础软件和数据平台能够实现原生的云化,以满足微服务架构的需求。 微服务,也就是一种面向服务的,有特定边界的松...

巨杉数据库
56分钟前
0
0
Linux系统梳理---系统搭建(一):jdk卸载与安装

1.去官网下载符合Linux版本的jdk,暂用jdk-8u171-linux-x64.rpm 2.登陆Linux,进入usr目录,创建java目录(方便管理,可以其他位置):mkdir java 3.上传下载的jdk包至Linux服务器,使用rz指令(sz f...

勤奋的蚂蚁
今天
0
0
Linux Kernel 4.16 系列停止维护,用户应升级至 4.17

知名 Linux 内核维护人员兼开发人员 Greg Kroah-Hartman 近日在发布 4.16.18 版本的同时,宣布这是 4.16 系列的最后一个维护版本,强烈建议用户立即升级至 4.17 系列。 Linux 4.16 于 2018 年...

六库科技
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部