我正在開發使用c#的程序,它與實時監控相關聯,就像研究一樣。開發實時視頻監控程序的請求技術
我不打算使用庫,如opencv或emgu等等,在某些情況下,我需要進行像素的詳細調整或訪問所有像素後進行處理。
現在我的算法基本上是使用Lockbits
和UnlockBits
將像素值複製到二維字節數組中,然後我可以執行任何要從該字節數組檢索數據的進程。
對於陣列,我使用自定義結構聲明它:
struct Pixel
{
Byte B;
Byte G;
Byte R;
}
所以當我處理RGB位圖我可以簡單地使用:bmp[i,j].R, bmp[i,j].G, bmp[i,j].B
分別訪問RGB值。
但是,這種方法會導致很長的處理時間,我猜想,當位圖的分辨率很大時,根據我的經驗,320x240很好,但是當我處理704x480時,整個系統都卡住了。
我想知道是否有任何其他方式來訪問所有的像素在一個更快,那麼我的,或者有另一種技術來做實時視頻監控?
謝謝
OpenCV確實允許您調整個別像素。你會更好地使用已經優化了這些技術的軟件包,以便您可以專注於編寫方法來處理它不會執行的部分。 – grovesNL