Circular neighborhood operations: matlab color histogram

前端 未结 1 1870
你的背包
你的背包 2021-01-13 12:38

Assume that I have a grayscale image. Consider a circular neighborhood window around each pixel. I need to get color histogram of circular neighbourhoods around each pixel.<

相关标签:
1条回答
  • 2021-01-13 13:10

    I don't want to give you everything, but I think this should help you out a lot.

    Well you can make a circle of ones doing something like

    h = fspecial('disk',rad);
    h = h>0;
    

    Then you can put that anywhere in a larger matrix doing something like

    h2 = zeros(N,M);
    h2(c_offset-rad:c_offset+rad,r_offset-rad:r_offset+rad) = h;
    

    Now you have a matrix the same size (col/row size) as your image. You can use this as a reference table for getting data from a matrix, much in the same way you can return only the values above 0.5 by saying

    r = rand(10);
    d = r(r>0.5);
    

    EDIT:

    You'll also need to play around with the data types in some places to make MATLAB happy. For example, h2 will need to be a logical to use it as a reference table for another matrix. And hist won't work without proper types either.

    0 讨论(0)
提交回复
热议问题