我想创建图像的直方图,但不考虑第一个k
像素。
例如:50x70
图片和k = 40
,直方图是根据最后3460
像素计算的。图像的第一个40
像素将被忽略。
扫描k
像素的顺序是光栅扫描顺序(从左上角开始,按行进行)。
显然我不能为那些k
像素赋值,否则直方图会不正确。
老实说,我不知道如何开始。
我该怎么做? 非常感谢
答案 0 :(得分:2)
你问题的矢量化解决方案是
var listItems = document.getElementById("my-items").children;
for(var i = 0; i < listItems.length; i++ ) {
var id = listItems[i].getAttribute("id");
var cite = document.querySelector("[src='" + id + "']");
if(cite) cite.innerText = i + 1;
}
如果您在工作目录中使用了该功能,则可以使用
<ol id="my-items">
<li id="item">ipsum</li>
<li id="other">lorem</li>
<ol>
<span>The item <cite src="other"></cite> is an item.</span>
尝试一下。
编辑:如果你只是需要图表,你也可以在我写的函数的第4行使用function [trimmedHist]=histKtoEnd(image,k)
imageVec=reshape(image.',[],1); % Transform the image into a vector. Note that the image has to be transposed in order to achieve the correct order for your counting
imageWithoutKPixels=imageVec(k+1:end); % Create vector without first k pixels
trimmedHist=accumarray(imageWithoutKPixels,1); % Create the histogram using accumarray
答案 1 :(得分:1)
其中一种方式可以是:
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar"
aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand active" href="index.php?p=home">MyPage
<span id="actualPage">- <?= $pages[$activePage] ?></span></a>
</div>
<div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav">
...
</ul>
</div>
</div>
</nav>
如果您需要跳过一些确切数量的顶行,那么您可以跳过昂贵的条件检查,并从适当的索引开始外循环。
答案 2 :(得分:1)
Vec = image(:).';
Vec = Vec(k+1:end);
Hist = zeros(1, 256);
for i=0:255
grayI = (Vec == i);
Hist(1, i+1) = sum(grayI(:));
end
前两行丢弃前k个像素,因此在计算中不考虑它们。
然后你检查你有多少0并将其保存在数组中。所有灰度等级相同。
在hist矢量中,在第i个单元格中,您将获得灰度级别(i-1)的出现次数。