|
7 / 7 / 2
Регистрация: 09.02.2014
Сообщений: 91
|
|
Информационно-поисковая система. Поиск в графических БД24.03.2014, 19:35. Показов 5263. Ответов 34
Метки нет (Все метки)
Доброго времени суток! Очень интересует такая тема, как поиск изображений в базе данных. Пользователю будет по запросу (например "фото с березами") предлагаться из базы данных все фотографии с березами. Ну и т.д в этом роде. Разрабатывать приложение предполагается на C#. Кто-нибудь сталкиваться с чем-то подобным. Буду рад слышать все мысли и идеи, источники литературы, методы, алгоритмы.
0
|
|
| 24.03.2014, 19:35 | |
|
Ответы с готовыми решениями:
34
Файлы. информационно-поисковая система delphi 7 Информационно-поисковая система для отдела кадров университета информационно-поисковая система на тему "автомобили" |
|
2774 / 2074 / 386
Регистрация: 22.07.2011
Сообщений: 7,821
|
|
| 24.03.2014, 20:15 | |
|
так чего тут думать , храните в БД категории изображений или ключевые слова + путь к изображению
0
|
|
|
7 / 7 / 2
Регистрация: 09.02.2014
Сообщений: 91
|
|
| 25.03.2014, 13:26 [ТС] | |
|
Sau, ну так-то да) Но: ключевых слов может быть сто, а может быть и тысяча, может и миллион. Как с этим быть? Ведь пользователь может ввести любой запрос. А приложение должно выдать похожее. Вобщем как гугл поиск
0
|
|
|
16 / 16 / 6
Регистрация: 01.03.2014
Сообщений: 122
|
||
| 26.03.2014, 04:34 | ||
|
0
|
||
|
7 / 7 / 2
Регистрация: 09.02.2014
Сообщений: 91
|
|
| 26.03.2014, 11:03 [ТС] | |
|
Boris, о написании программы изначально вопрос не поступал. Почитайте выше. Предполагается разрабатывать на C#. Как должна работать программа я описал. Прошу у Вас методы реализации, предположения, что например написал Sau.
0
|
|
|
|
||
| 26.03.2014, 13:04 | ||
|
vitali36, задача проста: как уже сказали ранее, нужно отдельным текстовым поле хранить метки фотографии и потом производить поиск по этому полю с условием LIKE '%искомое_значение%'
Если
0
|
||
|
Заблокирован
|
|
| 26.03.2014, 14:41 | |
|
"ключевых слов может быть сто, а может быть и тысяча"
И что? В Access есть поле MEMO, в MySQL LONG TEXT, туда и 1000 слов влезет и можно делать поиск. Но возьмите реальную картинку и посмотрите, сколько там ключевых слов. Скажем, Левитан Золотая осень. Ключевые слова - Левитан, осень, Золотая осень, пейзаж, река, лес, березки, день, солнечно...у меня больше не придумывается.
0
|
|
|
7 / 7 / 2
Регистрация: 09.02.2014
Сообщений: 91
|
|
| 26.03.2014, 15:50 [ТС] | |
|
Блондинка, спасибо, разъяснили. Еще такой вопрос: как в БД будет лучше хранить изображения? Никогда в бд не работал с изображениями. Создавал только локальную бд, там делал таблицу, в которой есть кажем имя, фамилия и т.д, а обращался посредством linq. С изображениями как посоветуете сделать? Можете ссылкой помочь где почитать
0
|
|
|
|
|
| 26.03.2014, 15:59 | |
|
0
|
|
|
Заблокирован
|
|
| 26.03.2014, 17:47 | |
|
ИМХО удобнее хранить только путь к изображениям, а не их сами.
Если картинки в папке, можно, например, заменять картинки на более качественные, даже не открывая базу данных, одним движением мышки.
0
|
|
|
7 / 7 / 2
Регистрация: 09.02.2014
Сообщений: 91
|
|
| 26.03.2014, 18:27 [ТС] | |
|
nio, Спасибо Вам большое! А там только по одному изображению сохранять/получать можно? А если нужно сразу сотню в бд закинуть? Придется постоянно менять код и прописывть имя изображения?
Еще не пойму, как будет мне отображаться результат?(расположение на форме - аналогично гугл поиску или выгрузка просто в какую-то папку) Извините, если много вопросов, просто хочется все понять, общую картину составить и представить как будет это все работать.
0
|
|
|
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
|
|
| 26.03.2014, 18:41 | |
|
vitali36, для сохранения данных используется DataTable. для отображения данных из DataTable используется или BindingNavigator или DataGridView или свой UserControl(но тогда уже лучше WPF - там проще создать свой контрол с какой угодно привязкой данных)
Добавлено через 2 минуты чтоб сохранить сотню изображений - работаем со списком файлов в цикле для передачи на сервер, ну или сначала сохраняем в DataTable и с помощью адаптера сохраняем весь datatable в БД
0
|
|
|
Заблокирован
|
||
| 26.03.2014, 18:42 | ||
|
2. Да и для BindingNavigator нужен еще контрол, куда будет выводиться то, что надо, - хотя бы текстовое поле какое-нибудь.
0
|
||
|
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
|
|
| 26.03.2014, 18:51 | |
|
Блондинка с ОЗМ, PictureBox - это контрол для отображения картинки, а саму картинку удобнее всего хранить в таблице(чтоб не пилить свой класс.
BindingNavigator служит навигации по списку данных. при этом объект Binding обеспечивает обработку сырых данных из текущей строки DataTable(byte[]) и автоматически их закидывает в pictureBox в виде image
0
|
|
|
Заблокирован
|
||
| 26.03.2014, 19:04 | ||
|
0
|
||
|
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
|
||
| 26.03.2014, 20:28 | ||
|
Блондинка с ОЗМ, чтоб отобразить картинку из БД ее сперва надо куда-то сохранить. тут, конечно, большой вопрос что выгоднее или получить по запросу все картины, или только список картин и подгружать картину при выборе ее в списке. я предложил первый вариант.
0
|
||
|
7 / 7 / 2
Регистрация: 09.02.2014
Сообщений: 91
|
|
| 26.03.2014, 21:53 [ТС] | |
|
Ну, вообщем картина более менее стала понятна. Все-таки в процессе написания без Ваших советов и помощи мне не обойтись будет. Вообще для начала я думаю так: пусть будет локальная бд и в нее я загружу пока только одно изображение. будет на форме текстбокс, в котором пользователь будет вводить ключевое слово. По нажатии кнопки осуществляется запрос и вывод этой картинки. Потом все думаю усложнять, дополнять (увеличивать кол-во картинок в бд, а также ключевых слов).
Прошу Ваши комментарии, правильно ли я подошел к задаче.
0
|
|
|
2774 / 2074 / 386
Регистрация: 22.07.2011
Сообщений: 7,821
|
|
| 26.03.2014, 23:35 | |
|
Добавь еще сюда полнотекстовый поиск в БД и морфологические преобразования - для более широких возможностей критериев отбора, а там , глядишь , и свой гугл напишешь.
0
|
|
|
7 / 7 / 2
Регистрация: 09.02.2014
Сообщений: 91
|
|
| 27.03.2014, 00:30 [ТС] | |
|
Пока задачу нужно решить как можно проще) А там потом, когда картина для меня совсем ясна можно будет добавлять что-то. С морфологическими преобразованиями я вообще не сталкивался)
0
|
|
|
Заблокирован
|
||||||
| 27.03.2014, 10:50 | ||||||
|
Для начала это и впрямь самый простой вариант. Но подумайте еще о дополнительных полях в базе данных и соответственно о комбобоксах для них для КАТЕГОРИЙ. Например, фотография, рисунок, картина маслом или без разницы. Или общая тематика: пейзаж, натюрморт, портрет м-ж-детский-семейный, архитектура, интерьер и т.д.
Вынос этого в отдельные категории с выпадающими списками облегчит основной поиск. В основном поиске можно убирать окончания слов, предлоги, запятые и т.д. - чтобы искать только по информативной части. Иначе пользователь введет "коты" или "котэ" и ничего не найдет при наличии 100 фото с ключевым словом "кот". Для смены картинок все же надо кнопку. Когда они сами собой сменяют друг друга и этот процесс нельзя даже остановить, это неудобно. Я в pictureBox выводила так
0
|
||||||
| 27.03.2014, 10:50 | |
|
Помогаю со студенческими работами здесь
20
Информационно-измерительная система Информационно справочная система Простейшая Информационно-справочная Система Простейшая информационно-справочная система Информационно-измерительная система gpss Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|