Channels ▼
RSS

JVM Languages

Indexing and Searching Image files

Source Code Accompanies This Article. Download It Now.


User Interface Flow

Double clicking on the ImageSearcher application brings up Figure 2. Next, I enter the directory name where the image files are stored or click the "..." button (circled in green) and select the directory where the index will be created. If the index directory does not exist, it is created (Figure 3).

I then enter the date ranges of the images I am interested in viewing (Figure 4). The "Search" text box contains the user comments stored in the images that I am interested in locating. This is optional. Once the search criteria have been entered, I click the "Search Me" button (Figure 4). Any images that satisfy the search criteria will be displayed in the Results panel.

Figure 5 shows the results of a successful search being displayed in the results panel.

[Click image to view at full size]

Figure 2: ImageSearcher application startup screen.

[Click image to view at full size]

Figure 3: The Image Search Directory and Index Directory Creation locations.

[Click image to view at full size]

Figure 4: Search Criteria Selection.

[Click image to view at full size]

Figure 5: Results of successful image search.

Conclusion

As you can see, the Lucene.NET and EXIFExtractor libraries can quickly be used to build an application that searches for images according to user-specified criteria, then display those images that match the search conditions on the results panel. Moreover, the application can be easily extended to include other search criteria such as shutter speed and camera make and model.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 

Video