Pull to refresh
3
0
Send message

С векторными изображениями в OpenCV трудновато, но можно также попробовать 2D image features.

Это алгоритмы, которые позволяют найти на картинке пиксели, как-то выделяющиеся из своего окружения (ключевые точки), и составить их описания (дескрипторы), которые можно сравнить между собой.

Основная цель изобретения этих алгоритмов была склеить несколько фотографий одного и того же объекта в одну, т.е. найти на нескольких фотографиях пиксели, изображающие одни и те же фрагменты, и совместить их. Либо сделать 3-мерную модель из нескольких двумерных фоток.

Однако, те же алгоритмы можно и для других задач применять. Например, тут попробовать.

Думаю, что уголки Харриса наиболее просто будет интерпретировать и как-то объяснить с медицинской точки зрения.

Следующее логичное продолжение - Bag of Visual Words. Т.е. можно построить классификатор болен-здоров. Но я не знаю, хватит ли пары сотен человек на датасет для него.

А еще есть модель CLIP, которая сопоставляет изображения и их текстовое описание, но это уже совсем другая сказка :)

Количественный анализ изображений проводился также по абсолютному размеру файла в байтах. Нами выявлена зависимость детализованности изображений от абсолютного размера файла, в котором изображение хранится (формат jpeg).

Исследована зависимость размера файла и количеством пикселей занятых изображением с помощью метода корреляционного анализа. Корреляции между байтами и пикселями оказались следующими: a) Сумма байт/сумма пикс.: 0,823706004 б) Лицо байт/лицо пикс.: 0,780290148 в) Животное байт/животное пикс.: 0,816002537 г) Текст байт/текст пикс.: 0,855008006. 

Это справедливо для очень многих алгоритмов сжатия изображений и ничего не говорит о состоянии здоровья.

Ценность результата весьма сомнительная. Если вы поменяете формат на PNG или TIFF, или PCX, результат может поменяться на противоположный.

 Вычислялся объём выполненного задания по рисованию лиц в пикселях для каждого испытуемого в каждой  группе, результаты сводились в вариационные ряды, проводился их статистический анализ, результаты сравнивались.

Т.е. вы просто подсчитывали количество закрашенных пикселей? Без учета их пространственного положения? Без учета взаимного расположения? Без какого-то анализа содержимого рисунка?

Если да, то равномерно заштрихованный лист будет победителем.

Можно было бы моменты посмотреть, например, они в OpenCV есть.

Я бы векторизовал картинки и анализировал отрезки кривых линий. Все-таки, вы людей заставляли не пиксели закрашивать, а линии рисовать.

Любопытно, какие характеристики будут у картин кубистов, Пикассо, например.

Дайте ссылку, пожалуйста, где можно подробнее прочитать о расчетах, которые Вы привели.

В любом случае нахер носимые аккумуляторные гаджеты, которые нельзя быстро снять

Согласен

Это получается, надо мануал с собой таскать, или выдержку из него.

Про rigid body motion, bundle adjustment и прочее есть замечательный курс Д. Кремерса

https://youtube.com/playlist?list=PLTBdjV_4f-EJn6udZ34tht9EVIW7lbeo4&si=hK3ere10IhOUU6Np

Напомню, что первоначальный вопрос стоял "возможно ли под андроид патчить в рантайме собственный код"

Первоначальный вопрос был немного другим. Строго говоря, это был даже не вопрос, а утверждение, что мессенжер Макс в какой-то момент может пропатчить сам себя "по команде сервера".

Далее возникло обоснованное сомнение, что под Андроид это вообще возможно. Вы привели ссылку на Frida - сомнение развеялось, по крайней мере, частично.

Идём от общего к частному, возвращаемся к Максу. Что там - никто не знает.

В итоге, все потеоретизировали, но работающего PoC никто так и не показал.

Следующий вопрос: а что, Гугл со своими security policies на это никак не реагирует?

WebView это же часть Android SDK, его Гугл контролирует, вроде как.

Макс есть в PlayStore. Я сомневаюсь, что Гугл подобное пропустит.

https://developer.android.com/reference/kotlin/androidx/javascriptengine/JavaScriptSandbox

Что-то там как-то куце совсем.

Если кто-то захочет через это взять без спроса файлы с файловой системы телефона или подключиться к микрофону во время звонка и записать разговор, боюсь, ему придется изрядно попотеть.

Zolg дал ссылку на Frida framework - это гораздо интереснее.

Однако, Макс есть в PlayStore, и я сомневаюсь, что Гугл пропустил бы приложение, в котором есть куски Frida.

А дальше?

https://developer.android.com/reference/android/webkit/WebView

Какие из методов этого объекта могут стырить файл из флеш-памяти телефона или незаметно включить микрофон и записать разговор?

evaluateJavascript? А он разве не в песочнице?

Как выясняется, возможно, правда со всякими "если". Там вверху ссылка на фреймворк Frida, он умеет.

https://github.com/frida/frida

https://github.com/dweinstein/awesome-frida

Да, я от общего к частному иду. Началось всё с "патчинга кода Макса в рантайме". Сначала я выяснил, что такое вообще возможно, дальше вернулся к изначальному вопросу.

А frida-gadget есть в Максе?

Talking is cheap, show me the code

Я чуть выше уже набросал кусочек кода. Продолжите его, пожалуйста, подтвердите свою мысль.

Можете дать ссылку на репозиторий на гитхабе, если продолжение получится слишком длинным.

Этот пропатченный код все равно будет выполняться в песочнице. Если у приложения, которое ее запустило, не было разрешений на чтение файлов, код ничего не прочитает

А что так сложно? Почему не JS, Python или Lua?

Для JS уже есть https://developer.android.com/jetpack/androidx/releases/javascriptengine, однако, она в песочнице работает.

В любом случае, это не патчинг кода в рантайме.

Да, пожалуйста.

override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
  val a = 2
  val b = 2
  findViewById<TextView>(R.id.textView).text = "${a+b}"
  findViewById<Button>(R.id.button).setOnClickListener {
    // тут ваш код, который меняет значения a и b
  }
}

Information

Rating
Does not participate
Registered
Activity