feature [3,2]. Among the most representatives methods of texture detection are the co-
occurrence matrices, a method that have been also implemented in this server.
In this case, one matrix was computed for each of the three channels R, G, B. For
an image f(x, y), the co-occurrence matrix h
dφ
(i, j) is defined so that each entry (i, j) is
equal to the number of times for that f(x
1,
y
1
) = i and f(x
2,
y
2
) = j, where (x
2,
y
2
) =
(x
1,
y
1
) + (dcosφ, dsinφ). This leads to three quadratic matrices of dimension equal to
the number of the color levels presented in an image for each distance d and
orientation φ. The classification of texture is based on the characteristics extracted
from the co-occurrence matrix: energy, entropy, maximum probability, contrast,
inverse difference moment and correlation. The three vectors of texture characteristics
extracted from the three occurrence matrices are created using the 6 characteristics
computed for d=1 and φ=0. The texture representation in this case is done using a
characteristics vector with 18 values stored in the database.
The results of these computations are stored in a variable of Image Data type. The
color information is stored as a vector with 166 values and it is used furthermore in
the content-based image query and content-based region query.
After the algorithm’s execution, the resulted image texture feature will be an 18-
dimension vector that is also added to the IMAGE variable.
The results of the content-based visual query process, using the color histograms
with 166 values in HSV color space and Gabor Filters were presented in [4,5].
4 Client-Server Working Example
The first step is to create a connection with the server using TCP sockets
communication. Once a channel has been open, all commands will be sent using this
connection. Now, the server has accepted the client but cannot accept any command
from it, yet. Before that, the client should be authenticated using a username and a
password.
The command that should be sent first is an array with the text:
login username=”username” password=”password”
After receiving this message the server respond either with an acknowledge
message, either with a reject message. In case of a reject message, the user has the
possibility to try again two more times. If it doesn’t get an acknowledge message after
these tries, it will be banned for an hour. During this time, even if the client sends a
connection message containing a valid username and password it will be rejected.
Once the client has been recognized by the server it will received a unique
identification number that will be de-allocated only when the client closes the
connection or send a logout message.
There are 2 kinds of commands that it can send: system commands and query
commands.
The system commands refer to create new users, set/change users rights or get
tables structure (attributes and the associated data types).
Among the most useful query commands used it can be enumerated:
82