忍者ブログ
自分の勉強した内容(プログラミング等) に関するメモなどを綴る日記
[3] [2] [1]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

画像処理の授業で書いているprocessingのソース

画像を分割して、各部分ごとに異なる比率でコンボりゅーションをしようとしているのですが、今のところ上手くいってないんですよね


来週までにどうにかせねば・・・


import processing.video.*;

int fream = 3;
int offset = 0;


Capture video;
PImage [] img = new PImage[fream];
PImage result;

float[][] c_matrix = {{0,-1,0},
{0,1,0},
{0,0,0}};


void setup(){
size(640,480);
colorMode(RGB);
video = new Capture(this,width,height,10);
for(int i=0;i img[i] = createImage(width,height,RGB);
}
result = createImage(width,height,RGB);
}

void draw(){
if(video.available()){
offset++;
if(offset == fream){
offset=0;
}
video.read();
result.loadPixels();
for (int y = 0; y < video.height; y++) {
for (int x = 0; x < video.width; x++) {
img[offset].pixels[y*video.width + x] = video.pixels[y*video.width + x];
}
}
for (int y = 0; y < video.height; y++) {
for (int x = 0; x < video.width; x++) {
float r_sum = 0.0,g_sum = 0.0,b_sum = 0.0;
for(int w = 0; w< 3;w++){
for(int h = 0;h < 3;h++){
int tmp_x = x + h -1;
int tmp_y = y + w -1;
int tmp = img[offset].width * tmp_y + tmp_x;
tmp = constrain(tmp,0,img[offset].pixels.length-1);

r_sum += (red(img.pixels[tmp]) * c_matrix[w][h]);
g_sum += (green(img.pixels[tmp]) * c_matrix[w][h]);
b_sum += (blue(img.pixels[tmp]) * c_matrix[w][h]);
}
}
r_sum = constrain(r_sum,0,255);
g_sum = constrain(g_sum,0,255);
b_sum = constrain(b_sum,0,255);

color c = color(255-r_sum,255-g_sum,255-b_sum);
int tmp = x + y * img.width;
result.pixels[tmp] = c;

if((offset+1+y*frame_num/480) else result.pixels[y*video.width + x] = img[(offset+1+y*frame_num/480)%frame_num].pixels[y*video.width + x];
}
}
PR

コメント


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


トラックバック
この記事にトラックバックする:


忍者ブログ [PR]
カレンダー
05 2026/06 07
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
フリーエリア
最新コメント
[08/10 NONAME]
最新記事
最新トラックバック
プロフィール
HN:
矢部竜太
性別:
非公開
バーコード
ブログ内検索
アーカイブ
最古記事