Мой вопрос немного более концептуальен, чем что-либо. Я представляю пространственную карту (например, карту мегаполиса) в полярной системе координат. Я записал данные от людей в пригородном районе 10x10, где они хотели бы жить в этой столичной области, заданной (r,theta)
- r
расстояние от центра, theta
угол вокруг оси x, поэтому я использую полярную координату и использовать HSV для цветового кода, сохраняя V=1=constant
. Получив цвет HSV каждого дома, я преобразовал эту матрицу HSV 10x10x3 в RGB и использовал изображение(), чтобы отобразить следующий график.Средний размер пикселей в цвете HSV vs RGB
Fig1: [10x10 сетка, представляющая окрестности. Цвета представляют, где эти семьи хотят жить в столичном регионе. Легенда показывает мегаполис в полярных координатах, цветовое пространство HSV, где V = 1 всегда.]
Теперь я пытаюсь создать лучшее визуальное представление этого пригородного района, чтобы узнать, сгруппированы ли люди в соответствии с их предпочтениями, где они хотел бы жить в столичном регионе. Использование
Img2=imresize(Img,1000,'bilinear','colormap','original');
Это увеличивает размер 10x10x3 RGB матрица для 10000x10000x3 матрицы RGB при использовании билинейной интерполяции между пикселами, таким образом, своего рода сглаживания изображения, показанного здесь:
Рис. 2: [Большая сглаженная матрица с использованием билинейного интерполирования между пикселями]
My questi on is: Действительно ли это использовать метод интерполяции в пространстве RGB, если мои основные интересы лежат в пространстве HSV, то есть в полярной координатной столичной области? Другими словами, когда эта функция принимает средний цвет многих пикселей в RGB, будет ли она представлять правильный радиус и угол в столичной области?
Спасибо вам большое раньше. Я приношу свои извинения за долговременное создание до потенциально простого вопроса.
Minor примечания: MATLAB масштабирует компоненту HSV на '[0,1]' для всех каналов. С технической точки зрения, max стал бы '0,5'. Просто придираюсь. Ваш вопрос по-прежнему очень важен, поэтому +1. – rayryeng
Также полезная ссылка тоже. Я всегда задавался вопросом, как интерполировать в HSV! – rayryeng
Несколько последующих вопросов, предполагая, что интерполяция будет по-прежнему использоваться: 1) Если я использую интерполяцию rgb, то снова увеличивайте V до 1, это было бы верно? 2) В вашей ссылке в основном говорится, что средний оттенок между двумя пикселями - это оттенок, который находится на самом коротком круговом расстоянии между ними. Поскольку это двумерная интерполяция, мне приходится усреднять много значений оттенков. Я бы просто нашел оттенок, который находится на самом коротком круговом расстоянии между самым низким и высоким оттенком? – Lyndon