原创 Camera: Brew中的龍潭虎穴

Camera慢慢的成爲手機的標配之一的時候給手機編程帶來的麻煩也越來越大.尤其是能有一段通用的代碼在各種不同屏幕尺寸手機上順利運行更是非常困難。這次就談談Brew平臺的Camera編程. 這次只講Preview和Snapshot模式.Mo

原创 一種快速自適應的圖像二值化方法介紹 (Wellner 1993)

在手機模式識別的時候, 我們首先viewfinder裏面拿到的frame通常是RGB的或者YUV的, 如果我們需要用來做模式識別的話, 通常需要首先把彩色圖首先轉化成灰度圖. 對於RGB圖像而言, 網上有充足的公式, 比如Y = 0.29

原创 如何用程序運行CAB安裝文件

最近這個東西很多被問及,軟件動態升級的時候可能可以用到,在這裏做一下記錄。 就知道的方法有2個, 一個是通過ShellExecuteEx直接運行對應的CAB文件。一個是調用CreateProcess用wceload來調用這個CAB。 兩個

原创 win32下 如何定位內存泄漏

在mobile平臺上寫代碼久了,平時的時候都是自己給出檢索內存泄漏的方案的。但是在win32下的開發,內存泄漏的檢索式如此的簡單。在windows下,定義有這樣一個宏_CrtDumpMemoryLeaks。它可以幫助你在任何地方打印出當年

原创 Symbian 位圖CFbsBitmap 90度旋轉

在做Symbian Camera應用的時候,我們發現, 在某些特殊的手機上. Preview以後拿到的那些Frame也就是位圖CFbsBitmap是旋轉過的. 比方說N75上, 比方說我在N96的一個原型機上也看到. 碰到這種情況. 我們

原创 貪心算法(Greedy Algorithm)之霍夫曼編碼(Huffman codes)

其實這個霍夫曼編碼本身不是一個很難的技巧(也是霍夫曼在期末考試的過程中想出來的方案:)),因爲中間用到了貪心的思想,所以也在這裏列舉了出來。這個問題本身在計算機系的很多教材上都出現過。這裏權且記錄下來。 霍夫曼的編碼是這樣的。假設我有一組

原创 Wellner 1993快速自適應的圖像二值化方法的提高 (Derek Bradley and Gerhard Roth 2007)

前面一種方案實際上還是存在一定的問題的, 就是這個避重就輕的初始g(n)值127*s(127表示0-255之間的中間值), 這個東西帶來的最直接的問題就是邊緣的效果在這個算法下是不咋地的。 其實從這個所謂的"Wellner 1993",

原创 Windows Mobile 中的鍵盤鉤子實戰

在需要用到SOFT1和SOFT2兩個按鍵的時候, 也嘗試了各種方案, 最後還是選個鉤子函數, 但是在使用的過程中還是出現了一些問題的, 一些解決了一些還沒有。下面有以下網上很多的實現。 且看這個 winceKBhook.h #ifndef

原创 C++中的宏和函數名稱的衝突 STL+windows.h

最近在寫代碼的時候總是發現在#include"windows.h"了以後經常用STL中的min.max函數出現編譯錯誤。但是自認爲代碼是沒有錯誤的。下面就是相關的代碼:   // testMacro.cpp : Defines the e

原创 《C++ Template. The Complete Guide》筆記之四 Tricky Basics

這裏實際要說到的是一些散亂的比較tricky的概念。不想一一列舉了,但是有2個點想拿出來說一說。 第一個就是typename,這個關鍵字用來告訴編譯器,後面緊跟的東西是一個類型而不是其他什麼東西。假定你有一個Map的類,需要有2個模板參數

原创 貪心算法(Greedy Algorithm)之活動選擇問題(Activity-Selection Problem)

活動選擇問題是《算法導論》裏面關於貪心算法的第一個問題。這個問題是這樣的。我們有一組活動,每個活動都有一個開始時間Si和結束時間Fi。如下圖: 每個活動都共享同一個公共的資源(比如教室等)所以同一時間只能有一個活動。現在的問題就是要在指

原创 在PPC和Smartphone上創建自己的Menubar

其實這個是一直想做的事情, 要寫一個Menubar的控件,有了Graphics的抽象層,有了Menubar就可以讓這個控件同時工作在Symbian和Windows Mobile上面了.   做這個控件第一件事情就是把系統的Menubar去

原创 這一夜我們只說CreateCompatibleDC

需要在Windows Mobile和Symbian OS上搭一個抽象層來對GDI有個基本的封裝.定義了一個Graphics的類.原意是讓他每次畫圖的時候在memory DC上畫,最後update的時候可以整體把Memory DC bitb

原创 貪心算法(Greedy Algorithm)之最小生成樹 克魯斯卡爾算法(Kruskal's algorithm)

克魯斯卡爾算法(Kruskal's algorithm)是兩個經典的最小生成樹算法的較爲簡單理解的一個。這裏面充分體現了貪心算法的精髓。大致的流程可以用一個圖來表示。這裏的圖的選擇借用了Wikipedia上的那個。非常清晰且直觀。   首

原创 Windows Mobile 上常見的 DirectShow 鏈接錯誤

最近在Mobile上搞Camera的時候碰到了千奇百怪的鏈接錯誤,在這裏記錄一下。   第一步 最簡單的錯誤。 這個錯誤類似於如下的error messsage: 1>cameraEmpty.obj : error LNK2001: un