Pixel transformation or remapping into new matrix and coordinates?
7 ビュー (過去 30 日間)
古いコメントを表示
I need solution of my following problem. I have also attached an image for explanation.
Pixel transformation or remapping into new matrix and coordinates
回答 (1 件)
Udit06
2023 年 11 月 17 日
Hi Imran,
I understand that you want to map the non-black pixels of your image to new coordinates. You can follow the following steps to do the same:
- Find non-zero pixel coordinates in the image.
- Define the transformation function that takes the row and column indices as inputs and returns the new row and column indices. Apply this transformation function to each non-zero pixel coordinate.
- Initialize a new image with the same size as the original image and set all pixels to black (zero values). Assign the non-zero pixel values from the original image to the new coordinates in the new image.
Following is the code implementation of the steps suggested above.
% Reading the image with a given filePath
image = imread(filePath);
% Find Non-Zero Pixel Coordinates
[row, col] = find(image ~= 0);
% Map Pixel Coordinates to New Coordinates where t is the transformation function
[new_row, new_col] = t(row, col);
% Create a New Image with Mapped Pixel Values
new_image = zeros(size(image));
num_nonzero_pixels = numel(row);
for i = 1:num_nonzero_pixels
new_image(new_row(i), new_col(i)) = image(row(i), col(i));
end
new_image=uint8(new_image);
% Display the New Image
imshow(new_image);
I hope this helps.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Read, Write, and Modify Image についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!