Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 查找并绘制每列中最小像素强度的位置_Matlab_Plot_Pixel - Fatal编程技术网

Matlab 查找并绘制每列中最小像素强度的位置

Matlab 查找并绘制每列中最小像素强度的位置,matlab,plot,pixel,Matlab,Plot,Pixel,我有一个灰度图像。我想逐列扫描,找到每列中最暗像素的位置,获得x、y位置并在其上绘制一个标记。prog的输出应该是一个在每列最暗像素上有标记的图像 我的尝试完全没有结果。请帮帮我 [row col] =size(i11); for j=1:col for i=1:row darkestPixelValue = min(i11(i,j)); [i,j]=find(i11==darkestPixelValue); plot (i,j);

我有一个灰度图像。我想逐列扫描,找到每列中最暗像素的位置,获得x、y位置并在其上绘制一个标记。prog的输出应该是一个在每列最暗像素上有标记的图像

我的尝试完全没有结果。请帮帮我

[row col] =size(i11);
for j=1:col
    for i=1:row
        darkestPixelValue = min(i11(i,j));    
        [i,j]=find(i11==darkestPixelValue);
        plot (i,j);
    end
end

使用第二个输出参数min:


使用第二个输出参数min:


从上述@shai和@user2805487中得到启发,采用了一种不同的方法来按列标记暗像素和亮像素:

    [r c]=size(a);
    pv=zeros(r,1);
    dark=zeros(c,1);
    for i=1:c
        for j=1:r
            pv(j)=a(j,i);
        end
    [ind dp] =min(pv);
    dark(i)=ind;
    [ind dp] =max(pv);
    lyt(i)=ind;
    end

    figure; imshow(a); hold on; scatter(1:c, dark, 40, 'xr' );
    figure; imshow(a); hold on; scatter(1:c, lyt, 40, 'xg' );

从上述@shai和@user2805487中得到启发,采用了一种不同的方法来按列标记暗像素和亮像素:

    [r c]=size(a);
    pv=zeros(r,1);
    dark=zeros(c,1);
    for i=1:c
        for j=1:r
            pv(j)=a(j,i);
        end
    [ind dp] =min(pv);
    dark(i)=ind;
    [ind dp] =max(pv);
    lyt(i)=ind;
    end

    figure; imshow(a); hold on; scatter(1:c, dark, 40, 'xr' );
    figure; imshow(a); hold on; scatter(1:c, lyt, 40, 'xg' );

你好我试过这个程序。但是我在一个直线左图像上得到了几个打印点,而不是一个水平线右图像,我用画图来显示所需的输出@user2805487-我的错:我把x-y和row-column的参数混在一起了。我编辑了我的答案,请试一试。我试过这个程序。但是我在一个直线左图像上得到了几个打印点,而不是一个水平线右图像,我用画图来显示所需的输出@user2805487-我的错:我把x-y和row-column的参数混在一起了。我编辑了我的答案,请试一试。