Bagikan melalui


Catatan Implementasi untuk Filter Segmentasi

Penting untuk dicatat properti yang ditetapkan filter segmentasi ke dalam setiap item anak yang dibuatnya. Properti ini adalah: WIA_IPS_XPOS, WIA_IPS_YPOS, WIA_IPS_XEXTENT, WIA_IPS_YEXTENT, dan mungkin WIA_IPS_DESKEW_X dan WIA_IPS_DESKEW_Y. Nilai properti ini sesuai dengan posisi item pada flatbed, bukan dalam gambar yang diteruskan ke parameter pInputStream .

Dengan demikian, penting bagi filter segmentasi untuk memperhatikan properti WIA_IPS_XPOS, WIA_IPS_YPOS, dan WIA_IPS_ROTATION dari gambar yang diteruskan.

Sebagai contoh, asumsikan bahwa aplikasi melakukan pemindaian pratinjau di mana aplikasi mengatur WIA_IPS_XPOS = WIA_IPS_YPOS = 200 ke dalam item (induk) sebelum memperoleh gambar pratinjau. Kemudian memanggil ke filter segmentasi untuk mendeteksi kemungkinan subregion. Namun, algoritma aktual yang digunakan dalam filter segmentasi bertindak pada gambar yang diteruskan ke dalamnya. Jika algoritma ini mendeteksi sudut sub-wilayah 150 piksel di sebelah kanan tepi kiri gambar dan 200 piksel ke bawah dari bagian atas gambar, ini sebenarnya sesuai dengan titik yang terletak di (350, 400) pada pemindai.

Dalam gambar berikut, wilayah luar mewakili pemindai flatbed. Meskipun algoritma akan menemukan koordinat sudut kiri atas wilayah menjadi (150, 200), nilai yang harus diatur filter segmentasi ke dalam item anak untuk WIA_IPS_XPOS dan WIA_IPS_YPOS adalah 350 dan 400.

diagram yang mengilustrasikan filter segmentasi yang diterapkan ke sebagian platen.

Jika misalnya, aplikasi akan menampilkan wilayah yang terdeteksi oleh filter segmentasi secara visual, perlu diketahui bahwa filter segmentasi mengatur koordinat yang sesuai dengan posisinya di flatbed. Ini berarti bahwa aplikasi harus memetakan koordinat flatbed ke koordinat dalam gambar pratinjau. Namun, dalam kebanyakan kasus, aplikasi akan melakukan pemindaian pratinjau dengan WIA_IPS_XPOS = WIA_IPS_YPOS = 0 dan tanpa rotasi (WIA_IPS_ROTATION = PORTRAIT). Jika demikian, ada pemetaan langsung antara koordinat pada flatbed dan yang ada di gambar pratinjau.

Properti lain yang harus diperhatikan filter segmentasi adalah properti rotasi, WIA_IPS_ROTATION, yang menyediakan driver mengimplementasikan properti ini. Asumsikan misalnya bahwa saat memperoleh gambar pratinjau, aplikasi diatur WIA_IPS_ROTATION ke ROT180. Dalam hal ini sudut kiri atas gambar yang diteruskan ke filter segmentasi sebenarnya sesuai dengan sudut kanan bawah pada flatbed. Oleh karena itu, filter segmentasi harus memetakan koordinat setiap subregion yang dideteksinya dalam gambar yang diputar ke koordinatnya pada flatbed. Setelah filter segmentasi melakukan pemetaan ini, filter tersebut dapat mengatur WIA_IPS_XPOS, WIA_IPS_YPOS, dan nilai properti lainnya ke dalam item anak yang sesuai dengan subimage.

Perhatikan bahwa, dalam kebanyakan kasus, WIA_IPS_XPOS dan WIA_IPS_YPOS akan diatur ke nol, dan WIA_IPS_ROTATION akan diatur ke POTRET. Namun, segmentasi harus dapat menangani kasus di mana mereka tidak diatur ke nilai-nilai ini.

Perhatikan juga bahwa meskipun aplikasi dapat meneruskan gambar ke filter segmentasi yang telah diputar oleh driver, aplikasi tidak boleh meneruskan gambar di mana deskewing telah dilakukan.