clc;                                                   %clc是清除command window里的内容
clear all; %clear是清除workspace里的变量
close all; %close all来关闭所有已经打开的图像窗口
image_ori = imread('skeleton_orig.bmp'); %读取图像数据
image_ori = rgb2gray(image_ori); % 将rgb模式转换成灰度图
figure; %画图
subplot(,,); %把区域分成2行4列,并把图像显示到第一个
imshow(image_ori); %显示图像
title('a.original image'); %显示标题
image_ext = [zeros(,);image_ori;zeros(,)]'; %分别在上下两边加一行,并转置
image_ext = [zeros(,);image_ext;zeros(,);]'; %分别在左右两边加一列,并转置
image_double = im2double(image_ext); %将imdata_add转换成双精度 % lapa_modelace Operating
lapa_mode = [-,-,-;-,,-;-,-,-]; %拉普拉斯变换用模板[-,-,-;-,,-;-,-,-];
lapa_mode = lapa_mode(:); %转换成列矩阵
for x = ::
for y = ::
A =image_double([x-:x+],[y-:y+]); %从image_double中以(x,y)为中心取出一个3*3的矩阵
image_lapa(x-,y-) = lapa_mode'*A(:); %将取出的矩阵与模板进行拉普拉斯变换取得的值放在image_lapa的(x-1,y-1)位置
end
end
subplot(,,);
imshow(image_lapa);
title('b.lapalace image');
subplot(,,); %Sharpening Operating
image_ab_sha = image_lapa+im2double(image_ori);
imshow(image_ab_sha);
title('c.a+b sharpening image'); %Grads Operating
sobel_mode_1= [-,-,-;,,;,,]; %定义梯度处理的一个掩膜
sobel_mode_1= sobel_mode_1(:);
sobel_mode_2 = [-,,;-,,;-,,]; %定义梯度处理的另一个掩膜
sobel_mode_2 = sobel_mode_2(:);
for x = ::
for y = ::
A =image_double([x-:x+],[y-:y+]);
mid_1(x-,y-) = sobel_mode_1'*A(:);
mid_2(x-,y-) = sobel_mode_2'*A(:);
end
end
image_grad = abs(mid_1)+abs(mid_2); %对gx、gy绝对值化,然后求和
subplot(,,);
imshow(image_grad);
title('d.grads image'); %Smoothing Operating
Mxy_Ext = [zeros(,);image_grad;zeros(,)]; %分别在上下两边加两行
Mxy_Ext = [zeros(,);Mxy_Ext';zeros(2,804)]'; %先将Mxy_Ext转置,然后分别在左右两边加一列,最后将所得结果再转置
Linear_smooth = ones(,); %创建一个5*5矩阵,初始值全是1
Linear_smooth = Linear_smooth(:); %将矩阵Linear_smooth转换成列矩阵
for x = :: %大循环,x从3--,步进是1
for y = :: %小循环,y从3--,步进是1
A = Mxy_Ext([x-:x+],[y-:y+]); %以Emx_Ext(x,y)为中心,截取5*5矩阵复制到A中
image_smooth(x-,y-) = Linear_smooth'*A(:); %将获取的矩阵值各个值求和然后放在新矩阵image_smooth的(x-2,y-2)位置
end
end
image_smooth = image_smooth/; %求平均值
subplot(,,); %把区域分成1行4列,并把图像显示到第一个
imshow(image_smooth); %显示图像
title('e.smoothing image'); %显示标题 %Masking Operating
image_mask = image_ab_sha.*image_smooth; %点乘
subplot(,,);
imshow(image_mask);
title('f.Masking image'); %Sharpening Operating
image_af_sha = im2double(image_ori) + image_mask;
subplot(,,);
imshow(image_af_sha);
title('g.a+f sharpening image'); %Exponential Transform
image_fin = image_af_sha.^0.5; %幂律变换
subplot(,,);
imshow(image_fin);
title('h.final result');

一个matlab数字图像处理程序的解释的更多相关文章

  1. stdafx.h、stdafx.cpp是干什么用的?为什么我的每一个cpp文件都必须包含stdafx.h? Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编

    sstdafx.h.stdafx.cpp是干什么用的?为什么我的每一个cpp文件都必须包含stdafx.h? Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要 ...

  2. [学习一个] Matlab GUI 学习笔记 Ⅰ

    Matlab GUI 学习笔记 Ⅰ 1. Foreword Matlab 是严格意义上的编程语言吗?曾经有人告诉我他是通过 Matlab 学会了面对对象编程,我是不信的,但这依然不妨碍它在特殊领域的强 ...

  3. B站上的一个MATLAB与神经网络的视频,捡漏

    ▶ av15514817.这里集中了一些从视频中学到的散点. ▶ 语句 "edit + 函数名" 可以打开部分内置函数的源代码.非公开的源代码这会打开一个全是注释的文档. ▶ 函数 ...

  4. BootStrap的一个标准框架的内容解释——来源于bootstrap官网

    <!DOCTYPE html><!--HTML5的定义--><html lang="zh-cn"> <head> <meta ...

  5. matlab数字图像简单的加密方法

    图像加密的重要性可想而知,每个人都会有自己的小秘密,通过图像加密的方法可以保护自己的照片等的安全. 一般情况下,图像加密可以分为以下几个步骤: 1.选择图像加密算法 2.根据算法获取秘钥 3.根据保存 ...

  6. matlab图像处理程序大集合

    1.图像反转 MATLAB程序实现如下:I=imread('xian.bmp');J=double(I);J=-J+(256-1);                 %图像反转线性变换H=uint8( ...

  7. 一个简单但详细的解释Windows文件映射读取数据文件的例子

    #include <windows.h>#include <string.h>#include <string>#include <iostream>u ...

  8. OpenCV开发环境搭建-并测试一个图像灰度处理程序

    转载地址:http://blog.csdn.net/sjz_iron/article/details/8614070

  9. 接触Matlab5年一个总结(Matlab要掌握的一些要点 )

    阅读目录 前言 Matlab的开发环境与简单介绍 Matlab的常见命令 Matlab的灵魂-矩阵操作 Matlab的.m或.fig的编程与技巧 从大二开始接触到matlab,讲真,这是一个我觉得很良 ...

随机推荐

  1. vs目录(继承的值)配置

    突然间,想在vs中添加自己的目录,这样以后再新建项目后,就不用再麻烦的手动添加了,比如让新建的项目都继承我的目录D:\MyInc. 事例:让新建的工程包含的目录中自动继承目录D:\MyInc 修改它的 ...

  2. mysql导出部分(指定)数据库表字段

      需要导出某个表中的部分字段信息 之前导出数据库表一直使用mysqldump命令,例如: mysqldump -hIP -uroot -P3306 -p 库 表 > 名字.sql 但是如果导出 ...

  3. netty Architectural Overview --reference

    reference from:http://docs.jboss.org/netty/3.1/guide/html/architecture.html 2.1. Rich Buffer Data St ...

  4. oracle 查看表属主和表空间sql

    查看表空间 select * from user_tablespaces where table_name = 'TableName' 查看表属主 select  Owner  from all_ta ...

  5. Const和readonly这间的区别和相同处

    相同:  const和readonly都是用来修饰常量的 不同: const 在申明之前就要对它初始化,readonly修饰的常量则可以到构造函数中初始化 const注重的是效率但是readonly注 ...

  6. ThinkPHP函数详解:F方法

    我们已经了解了ThinkPHP中的S方法的用法,F方法其实是S方法的一个子集功能,仅用于简单数据缓存,并且只能支持文件形式,不支持缓存有效期,因为采用的是PHP返回方式,所以其效率较S方法较高,因此我 ...

  7. meteor中分页库alethes:pages用法汇总

    1.添加分页库: meteor add alethes:pages 2.新建分页: Pages = new Meteor.Pagination("collection-name") ...

  8. StringToInt

    public class Stringtoint {    public static void stringtoint(String s){        //判断字符串是否为null和是否为空   ...

  9. 四、使用Maven和使用Eclipse构建javaWeb项目

    环境前边已经搭建过了,我们就再弄了. 1.使用Maven构建javaWeb项目 (1).键入以下命令: $ mvn archetype:generate -DgroupId=com.holytax.w ...

  10. job还是job

    declare jobno binary_integer;rm_days number;rm_hour number;  --传入的hourmy_hour number;    --取出当前时间的ho ...