[WP]no.008 画像のフィルタ処理


HSPで画像のフィルタ処理
30分+α

他の言語でやりたかったけれども、GUI処理は圧倒的に便利なのでつい…


WS000037.jpg
4近傍鮮鋭化フィルタの例
画像はチェックボックスが無いですがキニシナイ


filename=""
sdim boxprm,64,7,7
boxprm.3.3="1"
ddim filter,7,7

fbox=3,5,7

title "filter"
repeat 7
y=cnt
repeat 7
pos cnt*90,y*40
input boxprm.cnt.y ,80,22,64
loop
loop

objsize 100
pos 10,300
combox sizesel,,"3x3\n5x5\n7x7"
pos 120,300
input filename,240 : oid_fname=stat
pos 360,300
button gosub "参照",*getfile
pos 10,330
button "go",*start
pos 120,330
chkbox "割り算しない",flgdiv
stop

*getfile
dialog "bmp;*.gif;*.jpeg;*.jpg;*.jpe;*.ico;*.png;*.psd;*.tga",16
if (stat==0) : return
filename=refstr
objprm oid_fname,filename
return
*start
exist filename
if (strsize==-1):stop

buffer 1,,,0
picload filename
iwidth=ginfo_winx
iheight=ginfo_winy
screen 2,iwidth,iheight,1 : gcopy 1,0,0,iwidth,iheight
mref vram,66
screen 3,iwidth,iheight,1

// フィルターの計算
s=0.0
size=fbox.sizesel
repeat size,2-sizesel
y=cnt
repeat size,2-sizesel
s+=double(boxprm.cnt.y)
loop
loop
if (s==0.0 && flgdiv==0):stop
repeat size,2-sizesel
y=cnt
repeat size,2-sizesel
filter.cnt.y=double(boxprm.cnt.y)
if (flgdiv==0) :filter.cnt.y=filter.cnt.y/s
loop
loop

mref wvram,66

repeat iheight-(size-1),sizesel+1
y=cnt
repeat iwidth-(size-1),sizesel+1
x=cnt
s=0.0
repeat size,2-sizesel
fy=cnt
repeat size,2-sizesel
fx=cnt
s+=1.0*peek(vram,x+fx-3+iwidth*(iheight-1-y-fy+3))*(filter.fx.fy)
loop
loop
poke wvram,(x+iwidth*(iheight-1-y)),limit(s,0,255)
loop
await 10
redraw 1
loop

stop


1 0 -1
1 0 -1
1 0 -1

微分フィルタなど総和が0のフィルタを使うときに「割り算しない」チェックボックスを入れます。
スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

tag : HSP3 画像解析

コメントの投稿

非公開コメント

プロフィール

舞葉(ぶよう)

Author:舞葉(ぶよう)
github.io
はてなブログ(競プロ)

古い記事のソースコードは色分けしていないので、高機能テキストエディタに貼り付けたほうが見やすいかも。

検索フォーム
このブログについて
自分がつまづいた話題、なんとなく書きたいと思ったこと、ググったけど殆ど資料なかったぞオイ な話等をアップする予定。通りすがりでも、参考になっていただければと。プログラムの例外入力、メモリリークは責任負いません。投稿された記事は修正・削除する場合があります。
カテゴリ
タグ

HSP3アルゴリズムとデータ構造c++RubyJavaUnity画像解析C機械学習C#LinuxcodeIQKinectMinecraftTonyuSystemraspberrypiPythonHTML5音声制御Simulinkruby俺ルール通信制御Javascriptシミュレーション

counter-shinobi
固定記事
最新記事
最新コメント
月別アーカイブ
ブロとも申請フォーム

この人とブロともになる

アクセスランキング
[ジャンルランキング]
コンピュータ
1467位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
265位
アクセスランキングを見る>>