当前位置: 首页 > news >正文

做网站的人搞鬼少首页文件北京时间网站建设

做网站的人搞鬼少首页文件,北京时间网站建设,南宁做网站开发的公司,重庆网站建设公司价钱拉普拉斯变换的原理与应用 本文使用visual Studio MFC 平台实现图像增强中的拉普拉斯变换#xff0c;同时拉普拉斯一般不会单独使用#xff0c;与其他平滑操作相结合#xff0c;本文使用了拉普拉斯与直方图均衡化以及与中值滤波相结合#xff0c;也对三种方式进行了对比 关…拉普拉斯变换的原理与应用 本文使用visual Studio MFC 平台实现图像增强中的拉普拉斯变换同时拉普拉斯一般不会单独使用与其他平滑操作相结合本文使用了拉普拉斯与直方图均衡化以及与中值滤波相结合也对三种方式进行了对比 关于基础工程的创建可以参考 01-Visual Studio 使用MFC 单文档工程绘制单一颜色直线和绘制渐变颜色的直线 02-visual Studio MFC 绘制单一颜色三角形、渐变颜色边框三角形、渐变填充三角形、边框渐变的正方形与填充渐变的正方形实例 03-visual Studio MFC 平台实现图像增强中的线性变换负变换和非线性变换对数与幂律 04-MFC实现图像增强–分段式变换灰度级切片对比度拉伸Bit-plane slicing 05-visual Studio MFC 平台实现对灰度图添加椒盐噪声并进行均值滤波与中值滤波 文章目录 拉普拉斯变换的原理与应用一、 拉普拉斯变换的原理二、 拉普拉斯实现2.1单独拉普拉斯实现代码单独拉普拉斯实现效果2.2 拉普拉斯与直方图均衡化相结合实现代码拉普拉斯与直方图均衡化相结合实现效果2.3 拉普拉斯与中值滤波相结合实现中值滤波与拉普拉斯相结合实现效果 一、 拉普拉斯变换的原理 拉普拉斯变换的原理如下 拉普拉斯变换是图像处理中一种用于增强图像边缘的技术。它可以通过高通滤波来突出图像中的边缘特征。拉普拉斯变换的离散形式通常通过卷积运算实现。 离散拉普拉斯运算符 在离散图像中拉普拉斯运算符可以表示为 ∇ 2 f ( x , y ) f ( x 1 , y ) f ( x − 1 , y ) f ( x , y 1 ) f ( x , y − 1 ) − 4 f ( x , y ) \nabla^2 f(x, y) f(x1, y) f(x-1, y) f(x, y1) f(x, y-1) - 4f(x, y) ∇2f(x,y)f(x1,y)f(x−1,y)f(x,y1)f(x,y−1)−4f(x,y) 其中 f ( x , y ) f(x, y) f(x,y) 是图像在位置 ( x , y ) (x, y) (x,y)处的灰度值。 对于离散图像拉普拉斯变换可以使用以下的卷积核来实现 0 -1 0-1 4 -10 -1 0这个卷积核对图像进行卷积运算计算每个像素与其周围像素的差异从而强调了图像中的边缘。在卷积运算中将卷积核与图像的每个像素进行乘法然后将结果相加。这个过程在整个图像上进行产生一个新的图像其中强调了边缘。 2. 连续拉普拉斯运算符 在连续图像中拉普拉斯运算符可以表示为 ∇ 2 f ( x , y ) ∂ 2 f ∂ x 2 ∂ 2 f ∂ y 2 \nabla^2 f(x, y) \frac{\partial^2 f}{\partial x^2} \frac{\partial^2 f}{\partial y^2} ∇2f(x,y)∂x2∂2f​∂y2∂2f​ 它表示图像中各个点的强度与其周围点的强度之差的二阶导数。 应用 对图像应用拉普拉斯变换将突出显示图像中的边缘和细节因为这些区域通常具有灰度变化。拉普拉斯变换后的图像可以通过以下公式得到 LaplacianImage OriginalImage − SmoothedImage \text{LaplacianImage} \text{OriginalImage} - \text{SmoothedImage} LaplacianImageOriginalImage−SmoothedImage 这里 SmoothedImage \text{SmoothedImage} SmoothedImage 是原始图像经过平滑处理如高斯模糊后的图像。 在实际应用中拉普拉斯变换通常用于边缘检测或图像锐化。然而由于它对噪声敏感常常需要与其他技术一起使用例如高斯滤波以减小噪声的影响。 在数字图像处理中通常使用卷积操作来实现拉普拉斯变换。卷积核的选择影响着变换的效果。拉普拉斯变换对于边缘检测和图像增强等任务非常有用。 二、 拉普拉斯实现 2.1单独拉普拉斯实现代码 // 定义拉普拉斯核int laplacianKernel[3][3] {{ -1, -1, -1 },{ -1, 8, -1 },{ -1, -1, -1 }};// 应用卷积运算for (int y 1; y bmpHeight - 1; y) {for (int x 1; x bmpWidth - 1; x) {int sum 0;for (int i -1; i 1; i) {for (int j -1; j 1; j) {sum laplacianKernel[i 1][j 1] * gray_data[(y i) * bmpWidth (x j)];}}laplacian_data[y * bmpWidth x] static_castunsigned char(sum);}}CClientDC dc(this);CDC* pDC dc;m_pBmp-drawGrayBmp(pDC, laplacian_data, bmpWidth, bmpHeight, offset_left, offset_top 4 * bmpHeight30);// 释放临时数组内存delete[] laplacian_data;单独拉普拉斯实现效果 2.2 拉普拉斯与直方图均衡化相结合实现代码 // 计算直方图 int histogram[256] { 0 }; for (int i 0; i bmpWidth * bmpHeight; i) {histogram[gray_data[i]]; }// 计算累积分布函数CDF int cdf[256] { 0 }; cdf[0] histogram[0]; for (int i 1; i 256; i) {cdf[i] cdf[i - 1] histogram[i]; }// 映射灰度级别到临时变量 unsigned char* temp_data new unsigned char[bmpWidth * bmpHeight]; int min_cdf cdf[0]; for (int i 0; i bmpWidth * bmpHeight; i) {temp_data[i] static_castunsigned char(255 * (cdf[gray_data[i]] - min_cdf) / (bmpWidth * bmpHeight - min_cdf)); }// 应用拉普拉斯变换 unsigned char* laplacian_data new unsigned char[bmpWidth * bmpHeight]; int laplacianKernel[3][3] {{ -1, -1, -1 },{ -1, 8, -1 },{ -1, -1, -1 } }; for (int y 1; y bmpHeight - 1; y) {for (int x 1; x bmpWidth - 1; x) {int sum 0;for (int i -1; i 1; i) {for (int j -1; j 1; j) {sum laplacianKernel[i 1][j 1] * temp_data[(y i) * bmpWidth (x j)];}}laplacian_data[y * bmpWidth x] static_castunsigned char(sum);} }// 绘制均衡化后的图像 //m_pBmp-drawGrayBmp(pDC, temp_data, bmpWidth, bmpHeight, offset_left 900, offset_top);// 绘制经拉普拉斯变换后的图像 m_pBmp-drawGrayBmp(pDC, laplacian_data, bmpWidth, bmpHeight, offset_leftbmpWidth, offset_top 4* bmpHeight 30);拉普拉斯与直方图均衡化相结合实现效果 2.3 拉普拉斯与中值滤波相结合实现 // 中值滤波 for (int y 1; y bmpHeight - 1; y) {for (int x 1; x bmpWidth - 1; x) {// 获取3x3邻域内的像素值unsigned char neighborhood[9] {gray_data[(y - 1) * bmpWidth x - 1], gray_data[(y - 1) * bmpWidth x], gray_data[(y - 1) * bmpWidth x 1],gray_data[y * bmpWidth x - 1], gray_data[y * bmpWidth x], gray_data[y * bmpWidth x 1],gray_data[(y 1) * bmpWidth x - 1], gray_data[(y 1) * bmpWidth x], gray_data[(y 1) * bmpWidth x 1]};// 对邻域内像素值进行排序std::sort(neighborhood, neighborhood 9);// 取中值作为当前像素值temp_data[y * bmpWidth x] neighborhood[4];} }// 拉普拉斯变换 int laplacianKernel[3][3] {{ -1, -1, -1 },{ -1, 8, -1 },{ -1, -1, -1 } };// 应用卷积运算 for (int y 1; y bmpHeight - 1; y) {for (int x 1; x bmpWidth - 1; x) {int sum 0;for (int i -1; i 1; i) {for (int j -1; j 1; j) {sum laplacianKernel[i 1][j 1] * temp_data[(y i) * bmpWidth (x j)];}}median_laplacian_data[y * bmpWidth x] static_castunsigned char(sum);} }CClientDC dc(this); CDC* pDC dc;// 显示结果 //m_pBmp-drawGrayBmp(pDC, temp_data, bmpWidth, bmpHeight, offset_left, offset_top); m_pBmp-drawGrayBmp(pDC, median_laplacian_data, bmpWidth, bmpHeight, offset_left 2*bmpWidth, offset_top 4 * bmpHeight 30);中值滤波与拉普拉斯相结合实现效果 可以观看出在添加一些平滑操作后与单独进行拉普拉斯变换还是有一些区别的当然最后实现的效果可以调节拉普拉斯算子进行调节以达到相应的效果。
http://www.lebaoying.cn/news/67094.html

相关文章:

  • 宁波seo营销推广网站结构如何优化
  • 门户网站开发案例重庆知名做网站的公司
  • 网站模板 介绍电商网站建设与维护试题
  • 临潼建设项目环境影响网站网站QQ互联教程
  • 高端网站设计需求有哪些程序员需要考什么证书
  • 青岛高端模板建站济南移动互联网开发
  • 做企业网站用什么cms好网站模板是指网站内容的总体结构和页面格式总体规划
  • 肇庆关键词网站排名富利建设集团有限公司网站
  • 网站开发销售网站建设栏目标语口号
  • .案例 商务网站的推广策略小吃网站怎么做
  • php网站开发做什么少儿编程老师
  • 网站js幻灯片代码开发助手app下载
  • 网站开发适合女生吗做外贸网站能用虚拟主机吗
  • 做网站找个人还是找公司好shopnc
  • 猎聘网招聘官方网站北京百度关键词排名
  • 深圳网站建设外贸网站如何做下载文档
  • 进一步加大网站集约化建设力度wordpress仿58同城
  • goggle营销型网站效果太原seo按天计费
  • 网站的关键词挖掘方式wordpress4.2 for sae
  • 福州网站快速排名专门做淘宝优惠券的网站
  • 成都营销型网站建设网站怎么做外联
  • 网站设计的几大标准百度网站排名优化价格
  • 无锡企业网站制作哪家好网站建设qianhaiyou
  • 做自媒体常用的图片网站子目录安装wordpress
  • 如何用表格做网站网店装修定制
  • 怎么把网站制作成安卓c 网站开发需要的技术
  • 给单位做网站需要备案吗网站建设图片qq群
  • php 做网站建设银行咸阳交费网站
  • 公司后台的网站代理维护更新爱站网seo
  • 家居企业网站建设公司亚马逊品牌官网建设