imagbwhigh=imbinarize(imgray,128/255.0); imagbwlow=~imagbwhigh&imbinarize(imgray,30/255.0); k_num = 1; k_num1 = 1; for k = 1:m for kk = 1:n if(imgray(k,kk)>30) if(imagbwhigh(k,kk)>0) sample_gray1(k_num)=double(imgray(k,kk))/256.0; k_num = k_num + 1; else sample_gray2(k_num1)=double(imgray(k,kk))/256.0; k_num1 = k_num1 + 1; end end end end
时间: 2024-02-14 11:21:34 浏览: 29
这段代码是对图像进行阈值分割,将灰度大于128的像素点置为白色(1),灰度小于等于128的像素点置为黑色(0),并且将灰度大于30且被标记为白色的像素点的灰度值存入sample_gray1数组中,将灰度大于30但被标记为黑色的像素点的灰度值存入sample_gray2数组中。
具体来说,该段代码首先将原始图像(imgray)转换为二值图像(imagbwhigh)。然后,通过对灰度图像(imgray)进行二值化操作,将灰度大于128的像素点置为白色(1),灰度小于等于128的像素点置为黑色(0),并将结果存入imagbwlow数组中。接下来,通过遍历图像的所有像素点,判断其灰度值是否大于30,如果是,则将其灰度值存入相应的数组中。
最后,该段代码通过k_num和k_num1两个计数器来计算sample_gray1和sample_gray2数组中灰度值的个数。
阅读全文