如何执行大津阈值附近的像素信息,同时保留形象吗

1视图(30天)
我的代码的错误是当我计算质心-
我是质心矩阵: 临时bin_im = im2bw (B) 返回一个二进制图像。这是一幅值是0或1,丢弃所有的信息....峰值附近的像素比其他人更聪明
我还能如何使用graythresh大津阈值的方法, 但仍保持信息的像素亮度峰值附近的比其他珠吗? ?即不使用的二进制图像质心计算
样本数据集是包含在3图片,和我的代码如下:
clc;
清晰;
关闭所有;
负载(“my_mat_file.mat”);
% %中心容器
中心= 0(2、尺寸(ims, 3));
% %图像循环
x = 1:3
一个= ims (:: x);
% %矩阵A的大小
[r、c] =大小(一个);
% %大津阈值
B = im2gray(一个);
temp = graythresh (B);
bin_im = im2bw (B、临时);
% %质心计算
tot_mass =总和(bin_im (:));
[ii, jj] = ndgrid(1:尺寸(bin_im, 1), 1:尺寸(bin_im, 2));
R =总和(ii (:)。* bin_im (:)) / tot_mass;
C =总和(jj (:)。* bin_im (:)) / tot_mass;
中心(:,x) = (C; R);
结束

接受的答案

图像分析
图像分析 2022年4月22日
您可以使用灰度图像来确定加权质心的质心的二进制文件,但加权灰度的像素的亮度图像。
道具= regionprops (bin_im B“WeightedCentroid”,“重心”);
%从结构矩阵
xy = vertcat (props.Centroid);%的质心的二进制文件。
xyWeighted = vertcat (props.WeightedCentroid);%由灰度重心的二进制文件,但weeighted。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!