Wednesday, November 25, 2009

Aaju baaju frames might come in handy for noise reduction... averaging and all... esp I frames... cant see any relation with region or edge growing but had totally 4gotten we were working on a video!

Prateek

Saturday, November 21, 2009

disaster

Bad bad cluster mean values found by the region growing algo... That's when we neglected edge pixels as they usually have gradient in the transition between colours...
Leaving this for now (Dunno why I started today, already have enough things to screw up till Monday :P)...

Thursday, November 19, 2009

trying to get better ede detection

While earlier we had tested
image -> sobel filter output -> grayscaling -> thresholding (-> median filter output) -> region partitioning,
on reordering the transforms applied as:
image -> median filter output -> sobel filter output -> grayscaling -> thresholding -> region partitioning
we find that
1. the number of broken edges is reduced resulting in better partitioning.
2. However, detail present in the thresheld and partitioned outputs is significantly low as well.
3. The second method works well even for very low values of threshold (23 was used instead of 63).
Detail may be added in preprocessing or the result, using detail obtained by wavelet transform. This is yet to be tested... for now it is time to go visit our guide and ask him for suggestions for localized spatial clustering, things like kernel methods in k-means might actually be relevant and will be assessed.

Prateek

Saturday, November 7, 2009

reading frame data into ppm

using http://web.me.com/dhoerl/Home/Tech_Blog/Entries/2009/1/22_Revised_avcodec_sample.c.html and some help from pv and http://facweb.iitkgp.ernet.in/~pds/notes/array.html#arrayandpointer got through to reading frame data and understanding how the AVFrame->data is to be traversed for pixel data.

for each frame
for(y=0; y<height; y++) {                                     
  for (zz=0;zz<width;++zz) {                                  
    red   = *(pFrame->data[0]+y*pFrame->linesize[0]+zz*3+0));
    green = *(pFrame->data[0]+y*pFrame->linesize[0]+zz*3+1));
    blue  = *(pFrame->data[0]+y*pFrame->linesize[0]+zz*3+2));
    alpha = *(pFrame->data[0]+y*pFrame->linesize[0]+zz*3+2));
  } 
} 

IEEE Transactions on Parallel and Distributed Systems : latest TOC