I am new to image processing in Matlab, Now I am working on character recognition using HMM with Matlab Statistical toolbox.
I have an input image width : 400, height : 100 and the image is binary image. I divided each input image into 10 horizontal blocks. In each block, I calculate the density of the image. Therefore in each image I can obtain 10 feature vectors.
Suppose F is feature vectors of an image
F=[26 55 74 123 186 260 258 75 43 21]
My question is how to convert feature vectors to hmm sequence, so that I can use it using hmmtrain command. what is the emission matrix in my case ?
before asking this question I have seen similar example by Omid Sakhi. However, I still do not understand.
I would recommend this paper "Recognizing human action in time-sequential images using hidden Markov model" by Yamato et al. In this work, they perform a vector quantization using the k-means algorithm to convert feature vector into symbols, which I think it is similar to your problem.
So, basically you cluster the feature vectors and save the cluster centers as a codebook. After that, you can map each feature vector to the nearest cluster center then replace it by the corresponding cluster ID. As a result, you can represent your sequence of blocks as a sequence of cluster IDs.
The emission could be the cluster IDs.