gpt4 book ai didi

java - 如何在不使用JAI、ImageJ、jhlab库的情况下进行去斑操作?

转载 作者:行者123 更新时间:2023-12-02 07:50:59 25 4
gpt4 key购买 nike

我正在使用 Java Swing 在 Netbeans 中制作一个应用程序。我想在我的应用程序中实现一些图像处理功能(例如在 ImageJ 中),而不使用 ImageJ、JAI 和 jhlab 库。

例如:ImageJ>>处理>>噪声>>去斑。

那么,我该怎么做呢?

最佳答案

这可能有帮助

private void removeNoise() {
int iterator;

for (int row = 0; row < x1; row++) {
for (int column = 0; column < y1; column++) {
if (row == 0 || row == x1 - 1 || column == 0
|| column == y1 - 1) {
result[row][column] = result[row][column];
continue;
} else {
iterator = 0;
for (int r = row - 1; r < row + 2; r++) {
for (int c = column - 1; c < column + 2; c++) {
surround[iterator] = result[r][c];
iterator++;
}
}
result[row][column] =
sortMedian(surround, 9); //calls the sorting method

}

}
}
setPixel();
}

private int sortMedian(int[] surround1, int x) {
int i, j, t = 0;
for (i = 0; i < 9; i++) {
for (j = 1; j < (9 - i); j++) {
if (surround1[j - 1] > surround1[j]) {
t = surround1[j - 1];
surround1[j - 1] = surround1[j];
surround1[j] = t;
}
}
}
return surround1[4];
}

private void setPixel() {
int[] pixel = new int[1];

for (int x = 0; x < bi.getWidth(); x++) {
for (int y = 0; y < bi.getHeight(); y++) {

pixel[0] = (int) result[x][y];


rnImage.getRaster().setPixel(x, y, pixel);

}
}
}

关于java - 如何在不使用JAI、ImageJ、jhlab库的情况下进行去斑操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10229323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com