С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/41: Рейтинг темы: голосов - 41, средняя оценка - 4.88
0 / 0 / 1
Регистрация: 23.07.2013
Сообщений: 30
1

матрица яркости

04.09.2013, 10:32. Показов 7454. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
с помощью каких функций, методов можно получить значение яркости пикселя или может лучше матрицу яркости пикселей изображения на C++ для черно-белого и цветного изображения?

из цветного можно преобразовать RGB

Y = 0.299*R+0.587*G+0.114*B

но как получить параметры RGB для пикселя не знаю...

getpixel вроде долго работает...его не рекомендуют использовать....может с помощью OpenCV или других библиотек можно получить....
поиски в гугле окончательно запутали меня..помогите, плиз


значения яркости нужны для выполнения различных расчетов, например,

F = I(i+1) - I(i)

I(i) - яркость в i-го пикселя...

а потом уже работать с производными...

читал про оператор Соболя, но он возвращает градиент...этот градиент мне нужно рассчитать немного по другим алгоритмам....поэтому мне и нужно само значение яркости каждого пикселя
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.09.2013, 10:32
Ответы с готовыми решениями:

дана квадратичная матрица z[n][n]. составить программу, которая если матрица симметричная(транспонированная матрица равна исходной), сделает ее не сим
помогите пожалуйста. условие: дана квадратичная матрица z. составить программу, которая если...

Разбить изображение по яркости
Я пытаюсь разбить чёрно-белое изображение на небольшие участки схожие по яркости. Я выбираю...

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей)
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include &lt;stdlib.h&gt; int main(int argc, char* argv) {...

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей)
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include&lt;conio.h&gt; void main() { int mas; int N;...

9
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
04.09.2013, 11:53 2
смотря какое изображение, где оно находится, на экране или в файле
0
0 / 0 / 1
Регистрация: 23.07.2013
Сообщений: 30
04.09.2013, 12:31  [ТС] 3
Цитата Сообщение от Raali Посмотреть сообщение
смотря какое изображение, где оно находится, на экране или в файле
в файле
0
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
04.09.2013, 12:32 4
Цитата Сообщение от jacknk88 Посмотреть сообщение
в файле
А как в файле хранится цвет?
0
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
04.09.2013, 12:40 5
Цитата Сообщение от jacknk88 Посмотреть сообщение
в файле
что за файл, какое расширение?
0
0 / 0 / 1
Регистрация: 23.07.2013
Сообщений: 30
04.09.2013, 12:47  [ТС] 6
Цитата Сообщение от Raali Посмотреть сообщение
что за файл, какое расширение?
jpeg

Добавлено через 4 минуты
а что содержит mat
C++
1
cv::Mat mat = cv::imread(filename, CV_LOAD_IMAGE_GRAYSCALE);
или так
C++
1
Mat img = imread("filename.jpg",CV_LOAD_IMAGE_COLOR);
а потом

C++
1
mat.at<unsigned char>(h, w);
к отдельной строчке через

C++
1
mat.ptr(h);
а к массиву данных через

C++
1
mat.data
0
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
04.09.2013, 13:03 7
Цитата Сообщение от jacknk88 Посмотреть сообщение
mat.at<unsigned char>(h, w);
а если вывести это значение что показывает?
хотя странно что unsigned char, я ожидал что в матрице будут unsigned int
0
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
04.09.2013, 13:24 8
http://opencv.willowgarage.com... l#iplimage Если я правильно понял, в imageData надо лезть.
0
0 / 0 / 1
Регистрация: 23.07.2013
Сообщений: 30
09.09.2013, 13:12  [ТС] 9
может кому еще понадобиться, так что напишу что узнал

Цитата Сообщение от jacknk88 Посмотреть сообщение
а что содержит mat
C++
1
cv::Mat mat = cv::imread(filename, CV_LOAD_IMAGE_GRAYSCALE);
содержит значения яркости (для GRAYSCALE (градации серого) - черно-белого изображения) или (вот это я не проверял) каждый элемент будет содержать значения RGB, точнее BGR (для цветного изображения CV_LOAD_IMAGE_COLOR)....хотя второй параметр, думаю, можно указать также как и при вызове функции cvLoadImage


Для обращения к элементам матрицы, а именно получения значения яркости в диапазоне от 0 до 255 нужно использовать тип unsigned char...и написать что-то вроде этого

C++
1
int I = mat.at<unsigned char>(h, w);
или вернее
C++
1
unsigned char I = mat.at<unsigned char>(h, w);
где I - значение яркости пикселя; h - номер строки пикселя; w - номер столбца пикселя;

вроде можно и к отдельной строчке обратиться через

C++
1
mat.ptr(h);
а к массиву данных через

C++
1
mat.data
всю информацию нашел на форуме

спасибо всем!
0
0 / 0 / 1
Регистрация: 23.07.2013
Сообщений: 30
10.09.2013, 13:41  [ТС] 10
вот еще подробное описание способов обращения к пикселям изображения

PS: только метод, который я использовал там почем-то нету
0
10.09.2013, 13:41
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.09.2013, 13:41
Помогаю со студенческими работами здесь

Матрица яркости в Matlab
Ребята, помогите пожалуйста, кому не сложно) Нужно считать изображение, после чего считать в...

Изменения яркости
Извините что беспокою, но может быть кто-то поможет или подскажет с заданием: Изменения яркости...

Восприятие яркости
Помогите понять Закон Вебера — Фехнер, заключающийся в том, что интенсивность ощущения чего-либо...

Автоизменение яркости
Добрый день. Не знал куда написать по этому вопросу. Меня беспокоит автоизменение яркости после...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта Gowin Eda и снимок. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
Как создать нейросеть для генерации картинок на Python
InfoMaster 12.01.2025
Генерация изображений с помощью искусственных нейронных сетей стала одним из наиболее захватывающих направлений в области компьютерного зрения и машинного обучения. В этой статье мы рассмотрим. . .
Создание нейросети для генерации текста на Python
InfoMaster 12.01.2025
Нейросети, или искусственные нейронные сети, представляют собой модели машинного обучения, вдохновленные работой человеческого мозга. Они состоят из множества взаимосвязанных узлов, или "нейронов",. . .
Как создать нейросеть распознавания изображений на Python
InfoMaster 12.01.2025
Введение в распознавание изображений с помощью нейросетей Распознавание изображений с помощью нейронных сетей стало одним из самых впечатляющих достижений в области искусственного интеллекта. Эта. . .
Основы искуственного интеллекта
InfoMaster 12.01.2025
Искусственный интеллект (ИИ) представляет собой одну из наиболее динамично развивающихся областей современной науки и технологий. В широком смысле под искусственным интеллектом понимается способность. . .
Python и нейросети
InfoMaster 12.01.2025
Искусственные нейронные сети стали неотъемлемой частью современных технологий, революционизировав множество областей - от медицинской диагностики до автономных транспортных средств. Python, благодаря. . .
Python в машинном обучении
InfoMaster 12.01.2025
Python стал неотъемлемой частью современного машинного обучения, завоевав позицию ведущего языка программирования в этой области. Его популярность обусловлена несколькими ключевыми факторами, которые. . .
Создание UI на Python с TKinter
InfoMaster 12.01.2025
TKinter — это одна из наиболее популярных библиотек для создания графических интерфейсов пользователей (GUI) в языке программирования Python. TKinter входит в стандартную библиотеку Python, что. . .
HTML5 в разработке мобильных приложений
InfoMaster 12.01.2025
Введение: Обзор роли HTML5 в мобильной разработке В современном мире мобильных технологий HTML5 стал ключевым инструментом для разработки кроссплатформенных приложений. Эта технология произвела. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru