
数字图像处理
文章平均质量分 92
zbxzc
这个作者很懒,什么都没留下…
展开
-
轮廓提取
图像的轮廓提取在数字图像处理第三版(中文版 冈萨雷斯)第九章412页,讲得很清楚,在此就不赘述了。将腐蚀和相减化作一步,上代码BOOL CImageColorProcess::Contour(LPBYTE lpSrc, LPBYTE lpDst, LPBYTE lpDst_, int nSrcCount, int nW, int nH){ this->OSTUThreshold(lpS原创 2014-12-03 10:32:45 · 1707 阅读 · 1 评论 -
基于K-means聚类的图像分割
K-means算法用于聚类分析,广泛用于机器学习领域。下面借用百度百科的解释,个人觉得讲的还算清楚:k-means 算法接受参数 k ;然后将事先输入的n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。K-means算法是最为经典的基于原创 2014-12-11 15:21:48 · 23496 阅读 · 5 评论 -
基于Gabor滤波器的纹理分割
对高斯基本函数g(戈,Y)进行尺度变换和旋转变换得到一簇自相似函数,即Gabor小波。其中尺度变换和旋转函数如下。原创 2015-11-05 10:39:56 · 7110 阅读 · 0 评论 -
opencv静态编译
这是为了在没有配置opencv的电脑上运行依赖opencv的程序Opencv246+vs2012生成不依赖编译环境的exe文件静态编译与动态编译的区别原创 2016-12-09 16:51:47 · 673 阅读 · 0 评论 -
dicom文件
dicom tag大全DICOM之常用TagDICOM的常用Tag分类和说明SimplrITK文档https://itk.org/SimpleITKDoxygen/html/index.htmlPython处理医学影像学中的DICOMhttp://blog.youkuaiyun.com/inter_peng/article/category/2208611原创 2017-05-10 18:52:55 · 1084 阅读 · 0 评论 -
dicom图像转jpg
python实现import SimpleITK as sitkds = sitk.ReadImage('/home/dr2/正常胸片/老杨正常胸片(6053)/1.3.46.670589.26.702233.25.20161112.100725.4283.0.dcm')img_array = sitk.GetArrayFromImage(ds)frame_nu原创 2017-05-17 11:40:21 · 3245 阅读 · 0 评论 -
二值图像连通域标记算法
二值图像连通域标记算法八邻域标记算法:1) 判断此点八邻域中的最左,左上,最上,上右点的情况。如果都没有点,则表示一个新的区域的开始。2) 如果此点八邻域中的最左有点,上右都有点,则标记此点为这两个中的最小的标记点,并修改大标记为小标记。3) 如果此点八邻域中的左上有点,上右都有点,则标记此点为这两个中的最小的标记点,并修改大标记为小标记。4) 否则按照最左,左上,最上...原创 2015-05-31 22:21:35 · 7140 阅读 · 0 评论 -
直方图均衡化
Python+OpenCV学习(5)---直方图对比度受限的自适应直方图均衡化(CLAHE)Histograms - 2: Histogram EqualizationHistograms Equalizationcv2.equalizeHist()CLAHE (Contrast Limited Adaptive Histog原创 2018-01-01 11:26:14 · 941 阅读 · 0 评论 -
基于腐蚀的二值图像距离变换
取图像的骨架,方法是不断对图像进行腐蚀并且标记每个像素腐蚀到值不再变化的次数。得到的图像可以进一步被利用,如进行细化。上代码void erode(LPBYTE lpDst, LPBYTE lpDst1, int nW, int nH){ bool flag; for (int j = 0; j < nH; j++) { for (int i = 0; i < nW; i原创 2014-12-02 20:28:36 · 1493 阅读 · 0 评论 -
Hough直线检测的原理与实现
标准直线Hough变换采用如下参数化直线方程:x*cosθ+y*sinθ=ρ (1)式中,θ表示直线的法线方向,0≤θ<180,ρ表示原点至直线的距离(本文中θ的单位均为“度”,ρ的单位均为“像素”)。通常在图像直线检测中不直接使用图像坐标系,而是使用原点在图像中心处、y轴方向与图像的y 方向相反的正交坐标系,如图1所示的Oxy坐标系。为了进原创 2014-12-04 23:38:57 · 8370 阅读 · 2 评论 -
轮廓跟踪
这个算法也是看到别处有的,不算复杂,但算法让是个好算法。while(!FindPoint)是关键,它保证了在循环里面找到的点是边界点而不是内部点。上代码void CImageColorProcess::TraceContour(LPBYTE lpSrc, LPBYTE lpDst, LPBYTE lpDst_, int nSrcCount, int nW, int nH){ th原创 2014-12-03 16:59:19 · 2987 阅读 · 0 评论 -
javascript图像处理框架
canvas图像处理 canvas 绘图区域 var canvas1 = document.getElementById("canvas1"); var context1 = canvas1.getContext('2d'); image = new Image(); image.src = "z原创 2015-03-04 10:29:46 · 1886 阅读 · 0 评论 -
Windows下BMP文件的读取及显示
转自:http://blog.youkuaiyun.com/EmilMatthew/article/details/591814Windows下BMP文件的读取及显示EmilMatthew(EmilMatthew@126.com)摘要: 实现了Windows下,8位及24位BMP文件的读取及显示. 关键词: bmp文件,文件格式转载 2015-05-15 11:02:48 · 2699 阅读 · 0 评论 -
双边滤波CUDA优化——BilateralFilter CUDA
转自:http://sangni007.blog.163.com/blog/static/174728148201481305957863/=======双边滤波概述=======双边滤波(Bilateral filter)是一种可以保边去噪的滤波器。之所以可以达到此去噪效果,是因为滤波器是由两个函数构成。一个函数是由几何空间距离决定滤波器系数。另一个由像素差值决定滤波器系数。转载 2015-06-23 16:22:06 · 4702 阅读 · 1 评论 -
BMP文件的读取与显示
1.StretchDIBits函数实现完成功能:对话框程序,添加一个按钮,点击按钮后显示图片(1)设置BYTE*m_pBmpData为类的成员变量,我们要把图片的RGB数据装进去。(2)按钮的后台代码void Cbmp_readDlg::OnBnClickedShowbmp(){ CFile file; //定义一个文件对象 file原创 2015-07-14 13:39:02 · 5996 阅读 · 0 评论 -
将RGB数据写入BMP位图文件
CFile file; //定义一个文件对象 _ASSERTE(file.Open(CString("E:\\94.bmp"), CFile::modeRead));//打开文件 DWORD dwLen = file.GetLength(); //获取文件长度 file.Seek(54原创 2015-09-11 11:41:57 · 4217 阅读 · 1 评论 -
24位位图转8位灰度图
bool ImageReader::depthfrom24to8(char *newimageName){//以二进制写的方式打开文件FILE *fp=fopen(newimageName,"wb");if(fp==0) return 0;//灰度图像8位深度int newbiBitCount=8;//待存储图像数据每行字节数为4的倍数int lineB原创 2015-09-11 14:15:24 · 4850 阅读 · 0 评论 -
python PIL图像操作
使用PIL完成import Imageimg=Image.open('per00001.jpg')img.show()#灰度化greyimg=img.convert('L')greyimg.show()import numpy as np#得到图像矩阵gimg_ndarr=np.asarray(greyimg,dtype='float64')/256#也可以这样#g原创 2016-05-05 20:24:00 · 16807 阅读 · 0 评论