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

网站开发基本流程汕头网站制作开发

网站开发基本流程,汕头网站制作开发,c苏宁网站开发,手机端html模板文章目录 前言一、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.dnsts.com.cn/news/13099.html

相关文章:

  • 可以做数据图的的网站成都和奇乐网站建设公司怎么样
  • 制作网站技术wordpress 注册会员
  • 四川网站建设外包手机制作表格的软件免费
  • 美容网站建设登陆wordpress
  • 3d做号网站正能量网站入口直接进入下载
  • iis服务器网站301重定向怎么做白云网站建设公司
  • js跳转到别的网站网站建设都包含哪些内容
  • 简单的做图网站佛山网站制作专家
  • 网站被人做跳转改如何举报软件开发费和网站建设
  • 火锅自助餐网站建设网络综合布线系统设计方案
  • 代做网站微信号静态网站模板
  • 网站建设岗位将来有什么发展萧县建设局网站
  • 广州新塘网站制作推广深圳有多少家企业
  • 泰安高端网站建设报价上海装修公司排名统帅
  • wps2016怎么做网站宁波优化seo软件公司
  • 上海市工程建设交易中心网站微信 网站提成方案点做
  • 虚拟网站怎么做广州网站建设选哪家
  • 湖南网站建站系统哪家好win10一键优化工具
  • 建站工具搭建网站程序员个人网站开发
  • html5网站是用什么软件做的吗新手怎么学做电商
  • 网站上的视频上传怎么做网站正在建设中英文表述
  • 网站更新提示怎末做做网站定金要多少
  • 建设网站经验没有网站可以做cpa吗
  • 专业制作网站用哪些软件上海的设计网站
  • 国外网页设计网站网站显示500错误怎么解决方法
  • 连云港网站优化铭讯网站建设
  • 一块钱涨1000粉网站网站页面的宽度
  • 给别人建设网站怎么收费wordpress首页怎么打开很慢
  • 文山市住房和城乡建设局网站乐清招聘网
  • 网站浏览器图标怎么做外贸网站建设哪里好