这次试验问题很多,应该还是数据格式的问题,先发上来吧,放假回去先用Matlab做下,再改改。。。。。

下面对一幅人体骨骼扫描图进行混合空间增强(有点吓人)。。。我们的目标是通过图像锐化突出骨骼的更多细节来增强图像。由于图像灰度的动态范围很窄并且伴随着很高的噪声,所以很难对其进行增强。对此,我们采取的策略是:首先用拉普拉斯变换突出图像中的小细节,然后用梯度法突出其边缘。平滑过的梯度图像将用于掩蔽拉普拉斯图像,最后通过灰度变换来扩展图像的灰度动态范围。

1. 首先进行拉普拉斯变换

首先通过拉普拉斯变换突出图像的小细节。

2. 再进行拉普拉斯加强算法(未标定,补做。。。)

图像加强(锐化)

3. 再进行sobel梯度算法

再通过sobel算法突出边缘

4. 再进行拉普拉斯加强后的图像与sobel处理后的图像乘法

得到强边缘和噪声减少的结果

5. 最后进行幂律变换(这个还没做。。。。完全弄明白回来补做)

#include "dipHeader.h"
void main()
{
IplImage* bone = cvLoadImage("bone.tif",0);
IplImage* bone2s = cvCreateImage(cvGetSize(bone),IPL_DEPTH_16S,bone->nChannels);
IplImage* bonelap = cvCreateImage(cvGetSize(bone),IPL_DEPTH_16S,bone->nChannels);
IplImage* bonelap2f = cvCreateImage(cvGetSize(bone),IPL_DEPTH_32F,bone->nChannels);
IplImage* bonesub = cvCreateImage(cvGetSize(bone),IPL_DEPTH_16S,bone->nChannels);
//  IplImage* bonecal = cvCreateImage(cvGetSize(bone),IPL_DEPTH_16S,bone->nChannels);
IplImage* bonesob = cvCreateImage(cvGetSize(bone),IPL_DEPTH_8U,bone->nChannels);
IplImage* bonesob2f = cvCreateImage(cvGetSize(bone),IPL_DEPTH_32F,bone->nChannels);
IplImage* bonemul = cvCreateImage(cvGetSize(bone),IPL_DEPTH_32F,bone->nChannels);
cvLaplace(bone,bonelap,7);
cvConvertScale(bone , bone2s , 1.0, 0.0);
cvSobel(bone,bonesob,1,0,3);
cvConvertScale(bonesob,bonesob2f,1.0,0.0);
cvConvertScale(bonelap,bonelap2f,1.0,0.0);
cvAddWeighted(bone2s,1.0,bonelap, -1.0, 0.0, bonesub);
cvMultiplyAcc(bonelap2f,bonesob2f,bonemul);
/*  int x,y;
for (y=0;y<bonesub->height;y++)
{
short* bonesub_data = (short*)(bonesub->imageData+y*bonesub->widthStep);
short* bonecal_data = (short*)(bonecal->imageData+y*bonecal->widthStep);
for(x=0;x<bonesub->widthStep;x++)
{
bonecal_data[x] = (short)(bonesub_data[x]+255) / 2;
}
}*/
cvNamedWindow("bone",0);
cvShowImage("bone",bone);
cvNamedWindow("bonelap",0);
cvShowImage("bonelap",bonelap);
cvNamedWindow("bonesub",0);
cvShowImage("bonesub",bonesub);
//  cvNamedWindow("bonecal",0);
//  cvShowImage("bonecal",bonecal);
cvNamedWindow("bonesob",0);
cvShowImage("bonesob",bonesob);
cvNamedWindow("bonemul",0);
cvShowImage("bonemul",bonemul);
cvWaitKey(0);
}

《数字图像处理》学习笔记(四)--混合空间增强法(待修改)相关推荐

  1. 数字图像处理学习笔记(三)——空间分辨率和灰度分辨率、等偏爱曲线

    数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声.增强.复原.分割.提取特征等处理的方法和技术.本专栏将以学习笔记形式对数字图像处理的重点基础知识进行总结 ...

  2. 数字图像处理学习笔记(四)——数字图像的内插、度量、表示与质量

    数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声.增强.复原.分割.提取特征等处理的方法和技术.本专栏将以学习笔记形式对数字图像处理的重点基础知识进行总结 ...

  3. 数字图像处理-3.7混合空间增强法-骨骼图 基于opencv3.4.3的实现

    引子 刚开始看冈萨雷斯的<数字图像处理>时,3.7节 混合空间增强法中图3.4.3中的全身骨骼图的印象非常深刻.牛XX啊,这么模糊,都能变得这么清楚.虽然书中也给出了大段大段的解释,但是能 ...

  4. 数字图像处理学习笔记 六 彩色图像处理

    目录 (一)彩色模型介绍 1.1 RGB模型 1.2 CMY.CMYK模型 1.3 HSI彩色模型 1.4 HSV模型 1.5 YCbCr 彩色空间 (二)伪彩色图像处理 (三)全彩色图像处理及彩色变 ...

  5. 数字图像处理学习笔记(十五)——图像复原与重建

    数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声.增强.复原.分割.提取特征等处理的方法和技术.本专栏将以学习笔记形式对数字图像处理的重点基础知识进行总结 ...

  6. 冈撒雷斯数字图像处理学习笔记

    数学工具: 阵列与矩阵操作 线性操作与非线性操作 算术操作 集合与逻辑操作 空间操作 单像素操作 邻域操作 几何空间变换和图像配准 向量与矩阵操作 图像变换 概率方法 一 灰度变换与空间滤波 基本的灰 ...

  7. 数字图像处理学习笔记(六)——数字图像处理中用到的数学操作

    数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声.增强.复原.分割.提取特征等处理的方法和技术.本专栏将以学习笔记形式对数字图像处理的重点基础知识进行总结 ...

  8. 数字图像处理学习笔记(八)——图像增强处理方法之点处理

    数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声.增强.复原.分割.提取特征等处理的方法和技术.本专栏将以学习笔记形式对数字图像处理的重点基础知识进行总结 ...

  9. 数字图像处理学习笔记(十)——空间滤波

    数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声.增强.复原.分割.提取特征等处理的方法和技术.本专栏将以学习笔记形式对数字图像处理的重点基础知识进行总结 ...

最新文章

  1. 简单介绍Lua中三种循环语句的使用
  2. PL/SQL两种case语句写法
  3. Linux环境下USB的原理、驱动和配置
  4. Mysql大小写敏感的问题 --转
  5. Jmeter之Bean shell使用(四)——跨线程组之间的全局参数传递
  6. C#关于读写INI文件
  7. SQLLite数据库操作
  8. 安卓逆向系列教程(三)静态分析工具
  9. 315曝光:老坛酸菜工人穿拖鞋、光脚踩 防腐剂超标10倍!多家电商平台下架老坛酸菜...
  10. storm与hadoop的对照
  11. VS2010 代码自动对齐 快捷键
  12. Python 语言程序设计(5-2)七段数码管程序编写设计
  13. Cesium 鼠标单击和双击事件
  14. vue项目实现文字转换成语音播放功能
  15. 转!快速搭建视频直播平台
  16. 走进龙芯3A3000(二)安装Gentoo N64
  17. 关于IE浏览器的一些思路
  18. sql升级重启计算机失败win10,win10系统电脑安装sql server需要一直重启的解决方法...
  19. 放回不等概率抽样-PPS抽样
  20. 数据结构串之寻找整数

热门文章

  1. 你为什么不敢重构代码?
  2. Spring(3)--Spring示例再演示
  3. 十大网站布局和颜色搭配评析
  4. 读“程序员进 ICU 昏迷五六天,恢复后决定辞职回乡改行送菜”,分享一些独特的想法
  5. 解决No tf data. Actual error: Fixed Frame [world] does not exist错误
  6. 微信小程序 | 小程序的内置组件
  7. Python修改私有变量、统计访问次数、华摄氏度转换
  8. PyQt5 实现矩阵计算器
  9. 安装的java打不开tsa文件_java – 具有https tsa的JDK 1.7 jarsigner不再有效
  10. 微信本地模拟开发环境搭建