Перейти к содержанию
    

Лидеры

Популярный контент

Показан контент с высокой репутацией 10.09.2022 во всех областях

  1. картинки стали симметричными, можно и двумя-тремя радиальными коэффициентами обойтись c 1+Ki*r^2i как обычно делают. ещё для количественной оценки кривизны наверное можно просто преобразование Хафа от картинки делать и смотреть на распределение "углов" линий, после правильной коррекции там должна быть только пара узких вертикальных полос соответсвующих строго вертикальным ( \( \theta = \pi / 2 \) ) и горизонтальным линиям( \( \theta = 0 \) ). их ширина и будет показывать общую "кривость" объектива, которую и надо минимизировать подбирая коэффициенты перед r^2i. но картинку почистить надо, или хотя бы миллимитровые линии убрать, которые только дополнительный шум дают.
    1 балл
  2. можно на RPi 3 поднять, эта модель уже менее популярна и стоит наверное от силы 30-40 евро, не сильно дороже вашего модуля. Зато можно сделать, как @_pv показал, с OpenCV или библиотекой на ваш выбор.
    1 балл
  3. качество картинки отвратительное конечно, но если пройтись градиентным фильтром и размазать gr = ImageAdjust[GaussianFilter[GradientFilter[GaussianFilter[ColorConvert[img, "Grayscale"], 2], 2], 4]] что-то разглядеть можно вытащить данные и натянуть 2х мерный фит экспоненты, погнутой вдоль полинома grd = ImageData[gr]; data = Flatten[Table[{x, y, grd[[y, x]]}, {y, Length[grd]}, {x, Length[grd[[1]]]}], 1]; expr = a*Exp[-(y - (y0 + y1*x + y2*x^2 + y3*x^3 + y4*x^4))^2/2/sy] + b; fit = FindFit[data, expr, {{y0, #}, {y1, 0}, {y2, 0}, {y3, 0}, {y4, 0}, {sy, 5}, {a, 0.2}, {b, 0.3}}, {x, y}] & /@ {75, 130, 175, 220, 264, 308, 351, 393, 435, 490} выглядит как-то так вблизи {{y0 -> 87.7292, y1 -> -0.146309, y2 -> 0.000279265, y3 -> 3.62452*10^-7, y4 -> -7.28475*10^-10, sy -> 4.45341, a -> 0.11059, b -> 0.293883}, {y0 -> 134.557, y1 -> -0.287593, y2 -> 0.00148697, y3 -> -2.73506*10^-6, y4 -> 1.73526*10^-9, sy -> 5.88032, a -> 0.186041, b -> 0.292935}, {y0 -> 175.161, y1 -> -0.216324, y2 -> 0.00129499, y3 -> -2.53724*10^-6, y4 -> 1.6346*10^-9, sy -> 6.31835, a -> 0.207331, b -> 0.29263}, {y0 -> 219.418, y1 -> -0.146834, y2 -> 0.000903935, y3 -> -1.76892*10^-6, y4 -> 1.11553*10^-9, sy -> 5.16709, a -> 0.246005, b -> 0.292465}, {y0 -> 263.825, y1 -> -0.0721467, y2 -> 0.000454634, y3 -> -9.13689*10^-7, y4 -> 5.80904*10^-10, sy -> 4.6724, a -> 0.271664, b -> 0.292343}, {y0 -> 307.561, y1 -> 0.0313504, y2 -> -0.000230062, y3 -> 4.92199*10^-7, y4 -> -3.41197*10^-10, sy -> 4.70917, a -> 0.265807, b -> 0.292388}, {y0 -> 351.353, y1 -> 0.111996, y2 -> -0.000739691, y3 -> 1.48542*10^-6, y4 -> -9.68673*10^-10, sy -> 5.46529, a -> 0.236075, b -> 0.292496}, {y0 -> 393.196, y1 -> 0.174529, y2 -> -0.000967397, y3 -> 1.69454*10^-6, y4 -> -9.70441*10^-10, sy -> 6.22441, a -> 0.193682, b -> 0.292795}, {y0 -> 435.257, y1 -> 0.187255, y2 -> -0.000874856, y3 -> 1.35374*10^-6, y4 -> -7.22933*10^-10, sy -> 6.19187, a -> 0.199524, b -> 0.292738}, {y0 -> 475.104, y1 -> 0.158682, y2 -> -0.000352023, y3 -> -2.07054*10^-7, y4 -> 5.87065*10^-10, sy -> 5.55553, a -> 0.140875, b -> 0.293453}} сам по себе, особенно на краях, фит немного не справился, Show[ImageReflect[gr], Plot[((y0 + y1*x + y2*x^2 + y3*x^3 + y4*x^4) /. #) & /@ {fit}, {x, 1, Length[grd[[1]]]}, PlotStyle -> {Red, Thick}]] надо ему аккуратнее подсказывать начальные условия, ну или картинку с нормальной освещённостью снять. останется сделать то же самое по вертикали, получится dx,dy от (x,y) и потом вывернуть полиномы для обратного преобразования. но вот делать это полностью автоматически без подсказок внутри esp32 я бы не стал, на время калибровки wifi/синезуб поднять для получения картинки будет имхо куда проще.
    1 балл
  4. Вы пока не знаете, какая она, Вам это фактически все здесь говорят. Снимите линейный эталон однократно и правильно, т.е. не с руки мятую бумажку, а камеру в штатив, эталонную плоскоть перпендикулярно её физической оси, и т.д. Не поняли. Процессор камеры ищет в кадре светодиод, получает снаружи его линейные координаты с его энкодера, а значит, получает однозначное соответствие координаты данной точки камеры реальному углу.
    1 балл
×
×
  • Создать...