equalizeHist 直方图均衡化
<p>[TOC]</p>
<h5>简要描述</h5>
<ul>
<li>直方图均衡化灰色图像。必须灰度图。</li>
</ul>
<h5>参数</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">mat</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">mat</td>
<td>mat对象。需提前将mat转换为灰度图gray。</td>
</tr>
</tbody>
</table>
<h5>返回参数说明</h5>
<p>mat | null</p>
<h5>示例</h5>
<pre><code class="language-java"> //载入图像(载入灰度)
var mat=cvImg.loadFromFile("/sdcard/Pictures/tem.jpg",0);
cvImg.toFile(mat,"/sdcard/Pictures/tem2.jpg");
//计算直方图
var arr=cvImg.calcHist_val(mat);
//创建直方图模板
var mode_mat=cvImg.zeros(400,400,mat.type());
//填充直方图背景颜色
cvImg.rectangle(mode_mat,0,0,400,400,[200,200,200,0],-1);
//开始绘制
for(var i=0;i<arr.length;i++){
cvImg.line(mode_mat, i, 400-arr[i], i+1, 400,[15,15,15,0],1)
}
cvImg.toFile(mode_mat,"/sdcard/Pictures/tem3.jpg");
//均衡化直方图
var mat_new=cvImg.equalizeHist(mat);
cvImg.toFile(mat_new,"/sdcard/Pictures/tem4.jpg");
//计算直方图
var arr=cvImg.calcHist(mat_new);
//创建直方图模板
var mode_mat=cvImg.zeros(400,400,mat.type());
//填充直方图背景颜色
cvImg.rectangle(mode_mat,0,0,400,400,[200,200,200,0],-1);
//开始绘制均衡后的直方图。
for(var i=0;i<arr.length;i++){
cvImg.line(mode_mat, i, 400-arr[i], i+1, 400,[15,15,15,0],1)
}
cvImg.toFile(mode_mat,"/sdcard/Pictures/tem5.jpg");
</code></pre>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=61b88db2011e2d746d5c2304dd8543c4" alt="" />
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=fae3c9a916e743d6199f74a57520fa06" alt="" /></p>
<p>均衡化后</p>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=eebb550e4eea1fe6cced11b5e167e6ef" alt="" />
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=9124de54d22040cb5847c1a752811026" alt="" /></p>