我正在做一個關於人物提取和背景扣除的項目。我將輸出前景人物的視頻。從丹尼爾Shiffman學習,現在我可以得到前景的像素,但我不知道如何將這些像素導出爲視頻。或者我不需要立即導出它,但我需要對這些像素做進一步的處理,作爲視頻格式。有沒有人可以幫助我?提前致謝。對不起,如果有任何錯誤,我的英文。如何導出處理中的前景像素的視頻
下面是代碼:
import processing.video.*;
Capture video;
PImage backgroundImage;
float threshold = 30;
void setup() {
size(320, 240);
video = new Capture(this, width, height);
video.start();
backgroundImage = createImage(video.width, video.height, RGB);
}
void captureEvent(Capture video) {
video.read();
}
void draw() {
loadPixels();
video.loadPixels();
backgroundImage.loadPixels();
image(video, 0, 0);
for (int x = 0; x < video.width; x++) {
for (int y = 0; y < video.height; y++) {
int loc = x + y * video.width;
color fgColor = video.pixels[loc];
color bgColor = backgroundImage.pixels[loc];
float r1 = red(fgColor); float g1 = green(fgColor); float b1 = blue(fgColor);
float r2 = red(bgColor); float g2 = green(bgColor); float b2 = blue(bgColor);
float diff = dist(r1, g1, b1, r2, g2, b2);
if (diff > threshold) {
pixels[loc] = fgColor;
} else {
pixels[loc] = color(0, 0, 0);
}
}}
updatePixels();
}
void mousePressed() {
backgroundImage.copy(video, 0, 0, video.width, video.height, 0, 0, video.width, video.height);
backgroundImage.updatePixels();
}
不適當的問題。我在這裏是一個新手,感謝您的指導。我已經考慮過你的建議,但我只想要前景像素而不是圖像的整個像素。我想也許關鍵點是像素[loc]。你能提供一些建議嗎?非常感謝。 – iiyeo
@iiyeo請參閱編輯我的答案。您想要將您想要的像素從源圖像複製到目標緩衝區。 'createGraphics()'函數在這裏是你的朋友。 –
感謝您的及時答覆。我會以這種方式嘗試。 – iiyeo