Benzer bir soru emgu Calculate histogram with matrices buldum ... ama bazı adımları kaçırmıyorum! Yük değeri değerleri, float dizisinden yoğunluk eşgörünümüne dön
Emgu 3/C#/SQL SQL Server varbinary (max) saklanan çeşitli Görüntüler ile bir resim karşılaştırmak çalışıyorum 2014Sunucusu.
Birçok ilk adımım, Histogramları karşılaştırmaktır çünkü bazı görüntüler (nesneler) benzer olabilir, ancak farklı renkler sayesinde, karşılaştırma algoritmamda da karşılaştırılacak nesnelerin rengini göz önünde bulundurmak istiyorum.
Burada diğer yayınları temel bir araya koymak bazı kod manged ettik ve başarıyla yapıyor açabiliyorum ben Görüntüler dayalı histogramlar hesaplamak eğer:
histBlueSource.Calculate(new Image<Gray, byte>[] { imgBlueSource }, true, null);
histBlueTarget.Calculate(new Image<Gray, byte>[] { imgBlueTarget }, true, null);
double cBlue = CvInvoke.CompareHist(histBlueSource, histBlueTarget, HistogramCompMethod.Correl);
Performanstan dolayi Görüntüleri Veritabanından yüklemekle, BinValues'i histogramlardan çıkarmayı düşündüm ve daha sonra bunları daha sonra bir DenseHistogram'a geri yüklemek için SQL SERVER veritabanına kaydedin.
Ben serialize//** problem may be here - dont know if i should SAVE/LOAD bin value to a 1d FLOAT[256]
float[] BlueHist = new float[256];
BlueHist = histBlue.GetBinValues();
, sql sunucusuna kaydedin:
başarıyla birlikte binvalues ayıklamak. Sql sunucusundan okuyabiliyorum, deserialize edip, bir float'a [256], bin tane değerlerim ile tam olarak çıkarılmış olanlar olarak geri dönebiliyorum.
Bunu yapmamın geri Densehistogram veri yüklemek için:DenseHistogram histBlue = new DenseHistogram(256, new RangeF(0.0f, 255.0f));
BlueHist = (float[])bformatterBlue.Deserialize(memStreamBlue);
//**Other problem may be here
Matrix<float> mtx = new Matrix<float>(BlueHist);
tuhaf buluyorum Matris verisi olduğunu {float [256,1]}. Bin değerlerden gelen değerler daha sonra [0,0] ila [255,0] arasında yüklenir.
I
histBlue.Calculate(new Matrix<float>[] { mtx }, false, null);
sorun histogram binvalues doğru yüklenmez olan son adımı yalnızca [0] [255] olarak 135 arasında bir değere ve diğerleri olan 0
Birisi bana aynısını yapmak için bu veya başka bir öneri ile lütfen bana yardımcı olabilir mi?