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

怎么建设h5网站房产网站程序

怎么建设h5网站,房产网站程序,那些网站做民宿,西安网站建设itcandy提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 一、简介#xff1a;二、暗通道去雾方案简述#xff1a;三、算法实现步骤3.1最小值滤波3.2 引导滤波3.3 计算图像全局光强 四#xff1a;整体代码实现五#xf… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 一、简介二、暗通道去雾方案简述三、算法实现步骤3.1最小值滤波3.2 引导滤波3.3 计算图像全局光强 四整体代码实现五效果 一、简介 图像去雾是计算机视觉领域中的一个重要问题其目的是恢复被雾气遮挡的图像中的真实细节。在自然场景中雾气会导致图像的对比度下降、颜色失真以及细节模糊。去雾算法的主要目标是在保留图像内容的同时尽可能地恢复被雾气遮挡的信息。本次使用的算法为暗通道去雾暗通道去雾算法基于暗通道先验理论该理论指出在自然场景的任意一点除天空外其暗通道图像中的像素值在大部分情况下都接近于0。通过提取暗通道图像并对其进行去雾处理可以恢复图像中的真实细节。 二、暗通道去雾方案简述 在图像去雾处理中我们采取以下步骤来提升图像质量 首先我们从三通道彩色图片中提取每个像素的最小值并将其拆解为单通道图像。这一步帮助我们识别出图像中最暗的部分。 接着我们对这个单通道图像进行最小值滤波操作这一过程有助于进一步提取图像的暗部信息使得暗部特征更加明显。 然后为了去除暗部噪声并模糊图像细节我们对提取出的暗部图像进行引导滤波处理。这一步骤有助于平滑图像同时保留重要的结构信息。 接下来我们计算全局光强值A这个值用于排除天空等过曝区域确保去雾效果更加自然。 最后我们对原图像的每个通道分别减去暗通道以保留暗部细节并校正颜色与亮度。这个过程可以理解为对雾气影响的校正。经过这一步骤处理后新的图像暗通道接近零这意味着图像中的雾气已被有效去除从而得到清晰、无雾的图片。 三、算法实现步骤 3.1最小值滤波 最小值滤波是一种图像处理技术其工作原理是在图像中每个像素点的邻域内找出所有像素值中的最小值并用这个最小值替换掉原始像素点的值。这个过程对于突出图像中的暗部细节非常有用尤其是在去除图像噪声和增强图像对比度方面。 代码如下 # 定义一个函数用于对灰度图像进行最小值滤波 def zmMinFilterGray(src, r7):# 检查输入图像的形状是否正确if len(src.shape) ! 2:raise ValueError(输入图像必须是灰度图像)# 定义结构元素它是一个由全1组成的矩形核半径为rstructure_element np.ones((2 * r 1, 2 * r 1))# 使用OpenCV的erode函数对输入图像进行腐蚀操作# 腐蚀操作可以理解为用结构元素覆盖图像的每个像素并保留覆盖区域的最小值# 这里使用的是全1的结构元素因此腐蚀操作相当于最小值滤波result cv2.erode(src, structure_element)# 返回腐蚀操作后的结果return result3.2 引导滤波 引导滤波Guided Filter是一种用于图像滤波的算法它利用引导图像的内容来对目标图像进行滤波处理同时保持目标图像的边缘和细节。引导滤波的核心思想是假设引导图像与目标图像在局部区域具有相似的结构因此可以借助引导图像的特性来对目标图像进行滤波。 代码如下示例 def guidedfilter(I, p, r, eps):# 获取图像的高度和宽度height, width I.shape# 计算引导图像I的局部均值m_I cv2.boxFilter(I, -1, (r, r))# 计算输入图像p的局部均值m_p cv2.boxFilter(p, -1, (r, r))# 计算引导图像I和输入图像p的局部乘积的均值m_Ip cv2.boxFilter(I * p, -1, (r, r))# 计算引导图像I和输入图像p的局部协方差cov_Ip m_Ip - m_I * m_p# 计算引导图像I自身的局部协方差即局部方差m_II cv2.boxFilter(I * I, -1, (r, r))var_I m_II - m_I * m_I# 估计线性系数aa cov_Ip / (var_I eps)# 估计线性系数bb m_p - a * m_I# 对系数a和b进行全局均值滤波得到平滑的系数m_a cv2.boxFilter(a, -1, (r, r))m_b cv2.boxFilter(b, -1, (r, r))# 计算输出图像即m_a * I m_breturn m_a * I m_b参数说明 I: 输入图像可以是灰度图像或彩色图像。 p: 引导图像用于指导滤波器。引导图像应与输入图像具有相同的尺寸和类型。 r: 引导滤波器的半径以像素为单位。较大的半径可以覆盖更多的像素从而更好地平滑噪声但可能会模糊边缘。较小的半径则可以更好地保留边缘细节但去噪效果可能不够理想。 eps: 引导滤波器的正则化参数。较大的值可以更好地平滑噪声但可能会模糊图像的细节。较小的值则可以更好地保留细节但去噪效果可能不够理想。 3.3 计算图像全局光强 在暗通道去雾算法中计算全局光强A的原因如下 1.恢复无雾图像去雾的目标是从带雾图像中恢复出无雾图像。为了做到这一点需要估计场景中光线的原始强度即在没有大气散射影响下的光强。全局光强A代表了场景中最亮区域的原始光线强度。 2.指导去雾过程全局光强A是去雾算法中的一个关键参数它用于指导如何从带雾图像中恢复出无雾图像的颜色和亮度。通过计算A可以更准确地估计每个像素点在无雾状态下的光线强度。 3.避免颜色失真如果全局光强A的估计不准确去雾后的图像可能会出现颜色失真或过曝现象。因此准确计算A对于保持图像的自然颜色和细节至关重要。 代码如下示例 # 定义一个变量用于设置直方图的桶数 bins 2000 # 计算暗通道图像V1的直方图 ht np.histogram(V1, bins) # 计算累积分布函数d用于找到累积概率接近0.999的亮度值 d np.cumsum(ht[0]) / float(V1.size) # 遍历直方图的每个桶从最后一个桶开始向前搜索 for lmax in range(bins - 1, 0, -1):# 如果累积分布函数d的值大于或等于0.999则找到合适的亮度值if d[lmax] 0.999:break # 计算大气光照系数A即暗通道图像V1中累积概率大于或等于0.999的像素点的最大值 A np.mean(m, 2)[V1 ht[1][lmax]].max() # 对值范围进行限制确保V1的值在合理的范围内 V1 np.minimum(V1 * w, maxV1) 这段代码简单来说就是将图像亮度分为2000个等级用累积分布函数的概率找到图像中过亮区域像素值所在的范围计算原图三通道像素值取出其均值所代表的新图像按照范围取出新图像中的所代表区域的最大值用来代表天空等区域的像素值至此暗通道去雾所需要的关键算法就整理完毕了之后需要的就是将这些算法集成起来构筑为一个完整的暗通道去雾算法。 四整体代码实现 import cv2 import numpy as npdef zmMinFilterGray(src, r7):return cv2.erode(src, np.ones((2 * r 1, 2 * r 1)))def guidedfilter(I, p, r, eps):m_I cv2.boxFilter(I, -1, (r, r))m_p cv2.boxFilter(p, -1, (r, r))m_Ip cv2.boxFilter(I * p, -1, (r, r))cov_Ip m_Ip - m_I * m_pm_II cv2.boxFilter(I * I, -1, (r, r))var_I m_II - m_I * m_Ia cov_Ip / (var_I eps)b m_p - a * m_Im_a cv2.boxFilter(a, -1, (r, r))m_b cv2.boxFilter(b, -1, (r, r))return m_a * I m_bdef Defog(m, r, eps, w, maxV1): # 输入rgb图像值范围[0,1]计算大气遮罩图像V1和光照值A, V1 1-t/AV1 np.min(m, 2)max_values np.max(m, axis2)# 得到暗通道图像Dark_Channel zmMinFilterGray(V1, 7)cv2.imshow(V1, V1)cv2.imshow(20190708_Dark,Dark_Channel) # 查看暗通cv2.waitKey(0)cv2.destroyAllWindows()V1 guidedfilter(V1, Dark_Channel, r, eps) # 使用引导滤波优化bins 2000ht np.histogram(V1, bins)d np.cumsum(ht[0]) / float(V1.size)for lmax in range(bins - 1, 0, -1):if d[lmax] 0.999:breakA np.mean(m, 2)[V1 ht[1][lmax]].max()V1 np.minimum(V1 * w, maxV1) # 对值范围进行限制return V1, Adef deHaze(m, r81, eps0.001, w0.95, maxV10.80, bGammaFalse):Y np.zeros(m.shape)Mask_img, A Defog(m, r, eps, w, maxV1) # 得到遮罩图像和大气光照for k in range(3):print((m[:,:,k] - Mask_img))Y[:,:,k] (m[:,:,k] - Mask_img)/(1-Mask_img/A) # 颜色校正Y np.clip(Y, 0, 1)if bGamma:Y Y ** (np.log(0.5) / np.log(Y.mean())) # gamma校正,默认不进行该操作return Y if __name__ __main__:m (deHaze(cv2.imread(rF:\traditional_vison\R-C.jfif) / 255.0) * 255).astype(np.uint8)cv2.imshow(ccccc,m)cv2.waitKey(0)# cv2.imwrite(20190708_02.png, m)五效果 图片原图 暗通道图 增强后效果图
http://www.w-s-a.com/news/224874/

相关文章:

  • cctv5+手机在线直播观看seo关键词排名优化方法
  • 网站建设公司怎么谈单怎么开通微信小程序商店
  • 深圳做网站案例一个服务器可以备案几个网站
  • 网络营销策划名词解释泉州百度推广排名优化
  • 一键生成网站的软件互联网营销师是干什么
  • 网站后台管理水印怎么做手机优化设置
  • 哪个网站做图文素材多wordpress++优化
  • 建设网站就选用什么样的公司网站类型分类有哪些
  • 找平面设计师网站网站建设须知
  • 建设联结是不是正规网站wordpress 微博同步
  • 瑞安微网站建设广州推广
  • 做旅游宣传网站的流程图中国企业集成网电子商务
  • 开发商城网站开发成交功能网站
  • 网站建设公司专业公司排名搭建网站的企业
  • 网站建设难吗海南智能网站建设报价
  • 企业网站建设选题的依据及意义校园网站建设的论文
  • 网站版面设计方案水电维修在哪个网站上做推广好些
  • 邹平建设局官方网站企业宣传片广告公司
  • 南京建设集团网站建站极速通
  • 网站建设与推广员岗位职责网站开发应如何入账
  • 企业网站的作用和目的手机回收站
  • 大连零基础网站建设培训电话郎溪做网站
  • 成都科技网站建设注册公司最少需要多少注册资金
  • 找公司做网站注意事项麻城建设局网站停办
  • 沧州企业做网站wordpress 消息通知
  • 网站开发外包计入什么科目怎样申请网站空间
  • 西安建设局网站小孩把巴塘网站建设
  • 做网站 客户一直要求改郑州做优惠券网站的公司
  • 专门做特卖的网站是什么东北石油大学秦皇岛吧
  • 网站建设需要云主机吗wordpress 下载数据表插件