我有一个项目,我必须以多种方式处理图像。我被困在像素化上。
对于像素化,我必须采用一组 10x10 的像素并返回一个单元格,该单元格分别平均了 RGB 颜色。目前,我得到的只是跑步者程序中的红色图像。谢谢您的帮助。
public static Photograph pixelated(Photograph photo) {
int red = 0;
int green = 0;
int blue = 0;
int interval = 10;
Photograph p = null;
p = new Photograph(photo.getWidth(),photo.getHeight());
for (int row=0; row<photo.getHeight(); row +=interval) {
for (int col=0; col<photo.getWidth(); col +=interval) {
for (int row2=row; row2<row+10; row2++) {
for (int col2=col; col2<col+10; col2++) {
red = red + photo.getPixel(col, row).getRed();
green = green + photo.getPixel(col, row).getGreen();
blue = blue + photo.getPixel(col, row).getBlue();
}
}
red = red / interval;
green = green / interval;
blue = blue / interval;
Pixel rgb = new Pixel(red,green,blue);
for (int row3=0; row<interval; row++) {
for (int col3=0; col<interval; col++) {
p.setPixel(col3, row3, rgb);
}}}}
return p;
}