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

动态asp.net网站开发辽宁网络推广公司

动态asp.net网站开发,辽宁网络推广公司,wordpress改logo不显示,wordpress插件音乐播放器文章目录 前言一、Python全局128二、Python全局均值三、Python全局OTSU四、FPGA全局128总结 前言 为什么要进行图像二值化#xff0c;rgb图像有三个通道#xff0c;处理图像的计算量较大#xff0c;二值化的图像极大的减少了处理图像的计算量。即便从彩色图像转成了二值化图… 文章目录 前言一、Python全局128二、Python全局均值三、Python全局OTSU四、FPGA全局128总结 前言 为什么要进行图像二值化rgb图像有三个通道处理图像的计算量较大二值化的图像极大的减少了处理图像的计算量。即便从彩色图像转成了二值化图像也不影响对物体的识别。本章开始讲解图像二值化。Python包含全局128、全局均值、大津阈值法OTSUFPGA只做全局128的讲解。 一、Python全局128 import numpy as np import matplotlib.pyplot as plt img plt.imread(lenna.png) gray 0.299 * img[:, :, 0] 0.587 * img[:, :, 1] 0.114 * img[:, :, 2] gray gray * 255#图像是[0-1]---[0-255] bin_image np.where(gray 128, 255, 0)#全局二值化 fig plt.figure(figsize(8, 8)) ax fig.add_subplot(1, 2, 1) ax.set_title(gray image) ax.set_xlabel(width) ax.set_ylabel(height) plt.imshow(gray, cmapgray) ax fig.add_subplot(1, 2, 2) ax.set_title(binary image) ax.set_xlabel(width) ax.set_ylabel(height) plt.imshow(bin_image, cmapgray)二、Python全局均值 mean_image np.where(gray np.mean(gray), 255, 0)#全局均值 fig plt.figure(figsize(8, 8)) ax fig.add_subplot(1, 2, 1) ax.set_title(gray image) ax.set_xlabel(width) ax.set_ylabel(height) plt.imshow(gray, cmapgray) ax fig.add_subplot(1, 2, 2) ax.set_title(mean image) ax.set_xlabel(width) ax.set_ylabel(height) plt.imshow(mean_image, cmapgray)三、Python全局OTSU OTSU是阈值分割中一种常用的算法它可以根据图像自动生成最佳分割阈值。 OTSU的核心思想是类间方差最大化。 初始化一个阈值T0将图像分为前景f和背景b;图像像素点个数为图像Nheight x width前景像素个数Nf背景像素个数Nb;图像灰度等级L-10~255256每个灰度等级像素个数Ni满足以下公式 P f ∑ i 0 i T 0 N i N P b ∑ i T 0 i L − 1 N i N (1) Pf \sum_{i 0}^{iT0}\frac{Ni}{N} \quad\quad Pb \sum_{i T0}^{iL-1}\frac{Ni}{N}\tag{1} Pfi0∑iT0​NNi​PbiT0∑iL−1​NNi​(1) 前景和背景的灰度平均值分别为 M f ∑ i 0 i T 0 i × P i P f M b ∑ i T 0 i L − 1 i × P i P b (2) Mf \sum_{i 0}^{iT0}i \times \frac{Pi}{Pf} \quad\quad Mb \sum_{i T0}^{iL-1}i\times\frac{Pi}{Pb}\tag{2} Mfi0∑iT0​i×PfPi​MbiT0∑iL−1​i×PbPi​(2) 整个图像灰度平均值 M P f × M f P b × M b (3) M Pf \times Mf Pb \times Mb\tag{3} MPf×MfPb×Mb(3) 求前景和背景之间的方差 σ 2 P f × ( M f − M ) 2 P b × ( M b − M ) 2 (4) \sigma^2 Pf\times(Mf-M)^2 Pb \times(Mb-M)^2\tag{4} σ2Pf×(Mf−M)2Pb×(Mb−M)2(4) 找到阈值T0使得公式4最大 怎么找可以采用优化算法本文中直接遍历灰度等级查找最优阈值。 统计像素点函数 image: 输入灰度图(ndarray) reutrn: {像素个数}(dict)def pixel_num(image):h, w image.shapepdict {}for i in range(h):for j in range(w):if image[i,j] in pdict:pdict[image[i,j]] 1else:pdict[image[i,j]] 0return pdict 求公式4中sigma2的值 T0: 预设阈值(int) gray: 灰度图(ndarray) L: 灰度等级(int)def sigma2(T0, gray, L256):h, w gray.shapeN h * wpdict pixel_num(gray)pf sum([v for k,v in pdict.items() if k T0]) / N#公式1pb sum([v for k,v in pdict.items() if k T0]) / N#公式1pf [pf if pf 1e-6 else 1e-6][0]#控制最小值避免除以0pb [pb if pb 1e-6 else 1e-6][0]#控制最小值避免除以0mf sum([k * pdict.get(k, 0) / N for k in range(T0)]) / pf#公式2mb sum([k * pdict.get(k, 0) / N for k in range(T0, L)]) / pb#公式2M pf * mf pb * mb#公式3s2 pf * (mf - M) ** 2 pb * (mb - M) ** 2#公式4return s2, T0 遍历查找最大sigma2 gray: 灰度图(ndarray) L: 灰度等级(int)def otsu(gray, L256):smax 0tmax 0for t in range(1, L):s2, T0 sigma2(t, gray, L)if s2 smax:smax s2tmax T0return smax, tmax 根据最佳阈值求二值化图像 threshold: 最佳阈值(int) return: 二值化图像(ndarray)def otsu_threshold(max_threshold, gray):threshold np.mean(gray)binary np.where(gray max_threshold, 255, 0)return binarysmax, tmax otsu(gray, 256) otsu_image otsu_threshold(tmax, gray) plt.figure(figsize(10,10)) ax plt.subplot(1, 2, 1) ax.set_title(gray image) ax.set_xlabel(width) ax.set_ylabel(height) plt.imshow(gray, cmapgray) ax plt.subplot(1, 2, 2) ax.set_title(otsu image) ax.set_xlabel(width) ax.set_ylabel(height) plt.imshow(otsu_image, cmapgray)大津阈值法计算量较大FPGA实现没有意义。 四、FPGA全局128 module ycbcr2binary_global (input wire vga_clk ,input wire sys_rst_n ,input wire [7:0] y_data ,input wire rgb_valid ,output reg [15:0] binary_data ); wire [7: 0] temp; reg y_valid; assign temp (y_data 8d128)? 8d255: 8d0; always (posedge vga_clk or negedge sys_rst_n)if(sys_rst_n 1b0)y_valid 1b0;elsey_valid rgb_valid;always(posedge vga_clk or negedge sys_rst_n)if(sys_rst_n 1b0)binary_data 16d0 ;else if(y_valid 1b1)binary_data {temp[7:3], temp[7:2], temp[7:3]};elsebinary_data binary_data; endmodule总结 全局二值化都比较基础Python与FPGA实现都较为简单。下期讨论难度升级的局部二值化敬请期待。
http://www.hkea.cn/news/14471889/

相关文章:

  • 大型网站系统图旅游网站logo
  • 自适应营销网站网站建设职员
  • 网站对品牌的作用手机网站的域名
  • 医疗机构 网站备案成都建设网上办事大厅
  • 做网站最小的字体是多少随州网站推广哪家好
  • 山东建设网站营销型网站和普通网站的区别
  • 网站对企业的作用jsp类型网站托管费用
  • python做的网站北京网站开开发公司
  • 淘宝开网站建设店铺分析多用户商城系统价格
  • i深建官方网站网站广告出价平台
  • 网站首页引导页模版在线设计的软件
  • 佛山技术支持 骏域网站建设网站内容有什么
  • 网站建设分享芜湖市建设厅网站
  • 公司网站建设注册免费建设一个网站
  • 煎蛋网站用什么做的一般做个小程序多少钱
  • 友情链接出售郑州厉害的seo优化顾问
  • 荣耀手机商城官方网站thinkphp做网站好吗
  • 常用的网站开发技术有哪几种河北建设广州分公司网站
  • 电影网站建设目的做PPT素材用到的网站
  • 中国那些企业做网站做得好wordpress配置教程
  • 广西兴业县建设局网站泰安住房和城乡建设局网站
  • 如何做网站清风制作咸阳网站建设哪家专业
  • 网站开发毕设设计论文建立个人网站要钱吗
  • 哪些公司做网站比较好微信网页插件 wordpress
  • 网站信息化建设总体情况wordpress照片主题
  • 北大荒建设集团网站厦门网站建设680元
  • 网站建设-部署与发布的题目网店如何推广自己的产品
  • 广州知名网站建设东莞北京网站建设价格
  • jq网站特效插件下载沈阳男科医院哪家好医
  • 潜江哪里做网站成都seo公司