Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/30: Рейтинг темы: голосов - 30, средняя оценка - 4.67
34 / 26 / 0
Регистрация: 24.12.2010
Сообщений: 165

Разбить изображение на 4 равных куска

29.05.2014, 21:26. Показов 6428. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, как разбить изображение на 4 равных куска?
вот например у меня есть изображение с разрешением(960*540) и мне надо, что бы программа его разбила на куски(480*270) ?

Добавлено через 51 минуту
может я не правильно выразился, но вобщем мне надо разрезать 2 ч/б изображения на 4 равных куска
и после этого по-парно сравнить их гистограммы
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.05.2014, 21:26
Ответы с готовыми решениями:

Разбить участок дороги на 3 куска
Помогите Решить такую задачку: Дан участок дороги длинной n,n-целое число, требуется разбить этот участок на 3 куска, так что бы...

Разбить квадратную матрицу на 8 равных частей
Добрый день всем! Подскажите, пожалуйста с алгоритмом. Имеется квадратная матрица NxN, причем N - делится на число 8 без остатка...

Разбить массив на два равных массива
Добрый день участникам форума. String csvFilename = Constants.DESTINATION_FOLDER+file_name; csvReader = new CSVReader(new...

27
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
29.05.2014, 22:30
Добавлено через 16 минут
Читаете изображение в матрицу (imread), из этой матрицы делаете 4 матрицы и каждую матрицу записываете в графический файл (imwrite)
http://www.mathworks.com/help/... xport.html
1
34 / 26 / 0
Регистрация: 24.12.2010
Сообщений: 165
29.05.2014, 22:33  [ТС]
Nick07, я закинул изображения в матлаб, а как сделать
из этой матрицы делаете 4 матрицы
я не понимаю
Matlab M
1
2
I = imread('D:\kod\panda1.jpg'); 
U = imread('D:\kod\panda2.jpg');
0
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
29.05.2014, 22:43
Гистограмма:
imhist

Добавлено через 9 минут
I01 = I ( 1 : 240 , 1 : 135 ) ;
I02 = I ( 241 : 480 , 1 : 135 ) ;
I03 = I ( 1 : 240 , 136 : 270 ) ;
I04 = I ( 241 : 480 , 136 : 270 ) ;

Типа этого
1
34 / 26 / 0
Регистрация: 24.12.2010
Сообщений: 165
29.05.2014, 23:07  [ТС]
спасибо!
вот когда так прописываю, выдает ошибку: ??? Index exceeds matrix dimensions.
Matlab M
1
2
3
4
5
I = imread('D:\kod\panda1.jpg'); 
 I1 = I ( 1 : 480 , 1 : 270 ) ;
 I2 = I ( 481 : 960 , 1 : 270 ) ;
 I3 = I ( 1 : 480 , 271 : 540 ) ;
 I4 = I ( 481 : 960 , 271 : 540 ) ;
он пишет, что превышены матричные значения, но ведь у меня изображение как раз 960*540

Добавлено через 7 минут
оо, сглупил, ось Х ведь вниз идёт, а У - вправо
теперь все норм
0
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
30.05.2014, 10:28
Вариант 2 (коллега подсказал):

Запускаете imtool и в меню выбираете Crop image. В нижней строке есть Pixel info - определяет координаты курсора, т.е. можно выбирать вырезаемый кусочек изображения
1
 Аватар для Зосима
5245 / 3573 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
30.05.2014, 10:39
imcrop тоже неплохая функция
1
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
30.05.2014, 11:34
Кстати, в Фотошопе также есть Crop
0
34 / 26 / 0
Регистрация: 24.12.2010
Сообщений: 165
30.05.2014, 15:23  [ТС]
с этим разобрался, нашел гистограммы 8кусков изображений
а вот теперь мне нужно сравнить эти куски изображений попарно:
G1 и H1
G2 и H2
G3 и H3
G4 и H4
мне сказали, что сравнивать их надо одним из 2х вариантов:
1. разность их по модулю
2. корень суммы квадратов всех гистограмм
я решил, что п1. легче и написал так:
t=abs(G1-H1)
программа выдала кучу чисел.
у меня вот вопрос, а правильно ли я делаю?
0
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
30.05.2014, 18:03
1. Разность матриц - корректная математическая операция, нормально реализованная в MATLAB.
2. Гистограмма - субъективное нетривиальное некое действо.

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

Добавлено через 1 минуту
Нельзя ответить правильно или неправильно Вы делаете без понимания Вашей цели.
0
34 / 26 / 0
Регистрация: 24.12.2010
Сообщений: 165
30.05.2014, 20:36  [ТС]
цель - хочу увидить гистограмму, на которой будет видна разница этих двух гистограмм
0
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
30.05.2014, 23:00
Гистограмма - усредненное понятие, как-бы этим усреднением не "замылить" эффект.
Рекомендую начать с тестовых изображений, на них отработать параметры гистограммы с точки зрения наибольшей чувствительности к Вашему эффекту и наименьшей чувствительности в шумам.
Можно взять одно изображение и на его копию в Фотошопе/MATLAB нанести некие изменения.
0
34 / 26 / 0
Регистрация: 24.12.2010
Сообщений: 165
31.05.2014, 16:15  [ТС]
я собственно так и сделал: взял одно изображение, а второе - это уменьшенная копия первого
после этого разделил оба изображения на 4 части и вот после этого сраниваю(4 сравнения) этих "кусков"
их гистограммы не совпадают

Добавлено через 16 часов 27 минут
Nick07, может быть посоветуете, в какой форме лучше их сравнение вывести?
0
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
31.05.2014, 18:14
Уважаемый Коллега!
Я не понимаю какую цель Вы преследуете ( для чего сравнивать ). Поэтому пока кроме общих советов, которые могут быть и не самыми адекватными, ничем Вам помочь не могу. Четко сформулируйте, что Вы хотите (например: найти координаты предмета на уменьшенном снимке при известных координатах этого предмета на исходном снимке и т.д..).
0
34 / 26 / 0
Регистрация: 24.12.2010
Сообщений: 165
31.05.2014, 19:53  [ТС]
цель - определить меру близости одной гистограммы к другой.
Это можно увидеть в матлабе?
0
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
01.06.2014, 09:28
Я такими вопросами не занимался.

Гистограмма - закон распределение, может критерии согласия помогут. Посмотрите:
Иглин "Статистика и MATLAB", Глава 11. Подбор распределения. Стр. 413.

Coogle на запрос "сравнение гистограмм изображения" выдало 32 000 ответов, может там что-то интересное будет.
0
34 / 26 / 0
Регистрация: 24.12.2010
Сообщений: 165
02.06.2014, 22:55  [ТС]
все, с этим разобрался

остался последний этап, как прописать в матлабе формулу среднеквадратичного отклонения:
Миниатюры
Разбить изображение на 4 равных куска  
0
34 / 26 / 0
Регистрация: 24.12.2010
Сообщений: 165
03.06.2014, 00:48  [ТС]
правильно ли я её записал?

sqrt(0,25*((G1-H1)^2)+(G2-H2)^2)+(G3-H3)^2)+(G4-H4)^2))
0
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
03.06.2014, 08:06
1. 0,25
Десятичная точка: 0.25

2. Уточните, перед ^ не надо ли поставить точку?

Добавлено через 4 минуты
Функция std: http://www.mathworks.com/help/matlab/ref/std.html

И для вектора и для матрицы:

Description

s = std(X), where X is a vector, returns the standard deviation using (1) above. The result s is the square root of an unbiased estimator of the variance of the population from which X is drawn, as long as X consists of independent, identically distributed samples.

If X is a matrix, std(X) returns a row vector containing the standard deviation of the elements of each column of X. If X is a multidimensional array, std(X) is the standard deviation of the elements along the first nonsingleton dimension of X.
2
34 / 26 / 0
Регистрация: 24.12.2010
Сообщений: 165
04.06.2014, 00:10  [ТС]
спасибо огромное
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.06.2014, 00:10
Помогаю со студенческими работами здесь

Разбить число на сумму трех, не равных нулю чисел
Пусть дано число N. Известно, что его можно разбить на сумму трех, не равных нулю чисел. Напишите программу, которая выведет на экран все...

Как большой текстовый файл разбить на n равных строк?
Помогите пожалуйста большой текстовый файл разбить на несколько равных строк(string).Видел пример где файл разбивают на n равных файлов,но...

Разбить число на цифры и посчитать количество цифр, равных 3 (цикл while)
сделать с помощью цикла while() разбить число на разряды посчитать количество цифр 3 среди разрядов Пример 233 количетсво 3 равно 2, 456...

Разбить целое число на сумму трех, не равных нулю чисел
Условие задачи: Пусть дано число N. Известно, что его можно разбить на сумму трех, не равных нулю чисел. Напишите программу, которая...

Разбить массив на К равных частей, элементы каждой части переставить в обратном порядке
Задание: Ввести одномерный массив А, в котором число элементов кратное К, вывести его. Разбить массив на К равных частей, элементы каждой ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru