How to define Block Size Based on Input Image Dimensions in BLOCKPROC with SEMANTICSEG()
0 个评论
回答(2 个)
Hi Airton,
To address your specific requirement, you can modify the code snippet provided by adjusting the loop condition to ensure that the block size found is as close to 512 as possible. One way to achieve this is by calculating the absolute difference between the current block size and 512, aiming to minimize this difference. Here's an example of how you can adjust the code:
% Define the image size imageSize = [21828,54644]; % Example dimensions
% Define the target block size targetSize = 512;
% Define the initial maximum block size maxBlockSize = 512; % Assuming an initial value
% Initialize with the maximum possible block size bestBlockSize = maxBlockSize;
for blockSize = maxBlockSize:-1:512 if mod(imageSize(1), blockSize) == 0 && mod(imageSize(2), blockSize) == 0 if abs(blockSize - targetSize) < abs(bestBlockSize - targetSize) bestBlockSize = blockSize; end end end
% Final block size closest to 512 BlockSize = [bestBlockSize bestBlockSize];
% Display the closest block size found disp(BlockSize);
Please see attached results.
By incorporating this adjustment, the code will now iteratively search for a block size that is as close as possible to 512 while ensuring it fits the image dimensions correctly. This approach should help you find a suitable block size for your image based on your specified requirements.
If you encounter any further challenges or require additional customization, feel free to provide more details so we can tailor the solution accordingly. Let me know if there are any other aspects you would like to adjust or add to refine the process further.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!