小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

利用VLIB函數(shù)進行形態(tài)學(xué)操作:VLIB_dilate_bin_square

 oskycar 2010-08-03

Hello Michael,

Please refer to VLIB_testDilationErosion.c example in the VLIB package.

I will try to explain how to do the same for your case.

1) First use the Create32BitPackedBinImage function to create a binary packed image.

I am assuming by binary image you meant a 720x480 binary array. After you run the above function, you would get a 720x480/32 array.

2) Dilation is performed by a 3x3 kernel. So the output for the first and last lines cant be determined due to edge effect.

The call would look like this:

VLIB_dilate_bin_square((const unsigned char *) InputPackedData , (unsigned char *) DilatedPackedData + 720/8, (720)*(480-2), 720);

The offset of 720/8 is used to move the output pointer to the second line.

An alternative way of doing the same is

  for(i = 1; i <480-1; i++)
    {
        VLIB_dilate_bin_square((const unsigned char *) PackedData + 720/8*(i-1) , (unsigned char *) DilatedPackedData + 720/8*i, 720, 720);
    }

 Let me try to clarify the terminology of pitch as I think the confusion is due to this.

You can think of it as an ROI region with a block height and block width inside an image.

To represent the ROI, you would not need the image height. But you would need the image width for pointer increment to the next line.

In VLIB, the actual image width is called as pitch. Block height is simply called height and block width is simply called width.

Please feel free to ask for more clarification.

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多