How to assign specific values to pixels?
古いコメントを表示
I have a large matrix with pixel values ranging from 0 to 255 and I would like to assign specific values (map) from a txt file (table).
I have looked at other similar questions on this forum but they were focused on replacing a couple of values with "if" conditions which doesn't apply to my case since i have a large matrix.
Here is an example:
Thanks
m = [1 22 33;44 55 66;77 188 255] % pixel default value
values = [1 1;22 4;33 9;44 35;55 48;66 90;77 99;188 200;255 300] % txt file
M = [1 4 9; 35 48 90; 99 200 300] % expected result
採用された回答
その他の回答 (1 件)
Image Analyst
2022 年 2 月 18 日
0 投票
Use the function made for this kind of operation : intlut().
Not sure how many thousands or millions of rows your large matrix is but it should work. If your matrix is too huge, like many gigabytes and billions of pixels, then you're going to have problems anyway, regardless of this function.
カテゴリ
ヘルプ センター および File Exchange で Creating and Concatenating Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!