Arsip: Membagi gambar bitmap dalam kotak-kotak

more 17 years ago
alfa1412
1.Bagaimana jika punya gambar bitmap grayscale ( 0-255 )berukuran 100x100 piksel.
Cara untuk membagi gambar bitmap tersebut menjadi 4 bagian masing-masing berukuran 50x50 piksel. Kemudian tiap kotak dinamakan dg K1,K2,K3 dan K4.
2.Bagaimana jika Setelah itu cara untuk mendapatkan nilai rata-rata piksel dari tiap kotak-kotak berukran 50x50 tersebut. Misal nilai rata-rata piksel itu disebut R1, R2, R3 dan R4. (nilai rata-rata adalah jumlahan nilai byte tiap piksel dibagi 2500 [karena 1 kotak tadi berukuran 50x50] )
Lalu bagaimana cara bisa menuliskan hasil R1, R2, R3 dan R4 ke dalam StringGrid.

more 17 years ago
pebbie
scanningnya dalam rect aja.. rectnya dicalculate.
asumsi bitmap greyscale pf8bit palet inkremental.
function calc_avg(bb:TBitmap; rr: TRect):real;
var
ii, jj : integer;
p : PByteArray;
begin
result := 0;
for jj := rr.Top to rr.Bottom do begin
p := bb.Scanline[jj];
for ii := rr.Left to rr.Right do begin
result := result + p[ii];
end;
end;
result := result / ((rr.Bottom-rr.Top+1)(rr.Right-rr.Left+1));
end;
var
nw,nh:integer;
cell_sz : integer;
avg : real;
b : TBitmap;
i, j : integer;
begin
cell_sz := 50;
nw := b.Width div cell_sz;
nh := b.Height div cell_sz;
for j := 0 to nh-1 do begin
for i := 0 to nw-1 do begin
avg := calc_avg(b, rect(i cell_sz, j cell_sz, (i+1) cell_sz, (j+1)*cell_sz));
{ do whatever with avg value }
end;
end;
end

more 17 years ago
DelphiExpert
lalu bagaimana cara menuliskan hasil R1, R2, R3 dan R4 ke dalam StringGrid kak pebbie? :mrgreen:

more 17 years ago
alfa1412
Thks balesannya
ya gmn cara menuliskan r1,r2, r3 dan r4?
soalnya susunan kotak k1, k2,k3,k4 di dalam gambar agar juga sesuai dengan dengan susunan rata2nya di stringgrid r1,r2, r3 dan r4 (kolom dan barisnya)
gmn juga bila saya membuat batasan pada 3 kondisi:
1. Jika rata2 nilai piksel (avg) lebih besar dari 10000 maka termasuk kategori "Best"
2. Jika rata2 nilai piksel (avg) antara 5000-10000 maka termasuk kategori "good"
3. Jika rata2 nilai piksel (avg) kurang dari 5000 maka termasuk kategori "poor"
kmudian string2 kondisi tadi masuk ke string grid matrik sesuai kolom dan barisnya..
thks

more 17 years ago
alfa1412
oh ya..maaf lupa klo .. average..
ale kmrn q buat pake penambahan saja.. belum dibagi 2500
klo gmn juga bila saya membuat batasan pada 3 kondisi:
1. Jika rata2 nilai piksel (avg) lebih besar dari 150-255 maka termasuk kategori "Best"
2. Jika rata2 nilai piksel (avg) antara 70-149 maka termasuk kategori "good"
3. Jika rata2 nilai piksel (avg) kurang dari 0-70maka termasuk kategori "poor"
kmudian string2 kondisi tadi masuk ke string grid matrik sesuai kolom dan barisnya..

more 17 years ago
pebbie
lho? rata-ratanya integer to? silakan disesuaikan sendiri karena kupikir rata-rata yang real.
klo avgnya integer...
di bagian { do whatever with avg value }
isi dengan
case avg of:
150..255: stringgrid1.cell[i, j] := 'BEST';
70..149: stringgrid1.cell[i, j] := 'GOOD';
0..69: stringgrid1.cell[i, j] := 'POOR';
klo real...
if avg > 150 then stringgrid1.cell[i, j] := 'BEST'
else if avg > 70 then stringgrid1.cell[i, j] := 'GOOD'
else stringgrid1.cell[i, j] := 'POOR';
more ...
- Pages:
- 1
reply |
Report Obsolete
AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now:
https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 4 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 5 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 12 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 12 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 12 years ago
Random Topic
- Cara mudah untuk Memasukkan TIMage ke Array?
by ivan in Hal umum tentang Pascal Indonesia more 18 years ago - Tipikal Lowongan Kerja, Lamaran & CV bidang IT di Indone
by deLogic in OOT more 19 years ago - Minta komponen buat sms gateway..
by holmes in Tip n Trik Pemrograman more 17 years ago - Delphi... mau kemanaaaa..?
by LuriDarmawan in Hal umum tentang Pascal Indonesia more 18 years ago - Mohon Tips Dari Master Delphi
by supermuam in Hal umum tentang Pascal Indonesia more 14 years ago - Siapkah Delphier bersaing dalam bisnis SAaS?
by simba in Enginering more 15 years ago - Listview & Error Handle
by ayocool in Hal umum tentang Pascal Indonesia more 19 years ago - Project pdf
by yupi in Tutorial & Community Project more 17 years ago - Load Data Besar, Gimana ?
by budi_bunga in MySQL more 18 years ago - kenapa Suara lebih dulu daripada label.caption ?
by gormet in Multimedia & Graphic Enhancement more 17 years ago