#matlab #image-processing #weather
#matlab #обработка изображений #Погода
Вопрос:
У меня есть карта осадков, и я хочу разделить фон карты и данные об осадках, но я понятия не имею, как это сделать. Может кто-нибудь здесь дать мне представление о том, как это сделать.
Я прикрепил карту осадков и ее фон ниже:
Комментарии:
1.
map - background
?2. Как сказал hbaderts, но сначала убедитесь, что изображения имеют одинаковый размер, и между ними нет смещения (поворот / перевод / масштабирование).
3. думаю, что фон является одним из выходных данных, входными данными является карта данных об осадках (1-й рисунок), выходные данные — фон (2-й рисунок) и данные об осадках
Ответ №1:
Вы можете отделить фон, вычитая два изображения. Чтобы вычесть два изображения, оба изображения должны иметь одинаковые размеры. Прикрепленные изображения имеют разные размеры.
>>img_1 = imread('~/aV85G.jpg');
>>img_2 = imread('~/nGKKF.jpg');
>>size(img_1)
ans =
601 601 3
>> size(img_2)
ans =
487 566 3
Поэтому нам нужно убедиться, что оба изображения должны иметь одинаковый размер, и каким-то образом img_2 имеет нежелательную белую границу. Чтобы избавиться от пробелов и сопоставить размеры, давайте сделаем следующее.
img_crop = img_2(31:431,84:484,:); %Crop image
img_rsz = imresize(img_1,0.667); %reduce size to match size of img_crop
img_subtrct = img_crop - img_rsz; % subtract image to remove background
Приведенный выше метод работает нормально, если значения пикселей области выпадения дождя отличаются от пикселей этой периклюарной области фонового изображения.
Комментарии:
1. спасибо за вашу помощь, дело в том, что первая цифра вводится, а вторая выводится, что я ожидаю
2. Мне непонятно, что именно вы хотите извлечь из этого изображения? вам нужна область выпадения дождя или только фон?
3. я хочу, чтобы и область выпадения дождя, и фоновая карта