Java DIP - การเพิ่มความสว่างของภาพ
ในบทนี้เราจะเพิ่มความสว่างของภาพโดยการคูณแต่ละพิกเซลของภาพด้วยค่าอัลฟาและเพิ่มค่าเบต้าเข้าไป
เรา OpenCV ฟังก์ชัน convertToที่ดำเนินการข้างต้นโดยอัตโนมัติ สามารถดูได้ที่ด้านล่างMatแพ็คเกจ ไวยากรณ์ได้รับด้านล่าง -
int alpha = 2;
int beta = 50;
sourceImage.convertTo(destination, rtype , alpha, beta);
พารามิเตอร์อธิบายไว้ด้านล่าง -
ซีเนียร์ | พารามิเตอร์และคำอธิบาย |
---|---|
1 |
destination เป็นภาพปลายทาง |
2 |
rtype เป็นประเภทเมทริกซ์เอาต์พุตที่ต้องการหรือแทนที่จะเป็นความลึกเนื่องจากจำนวนช่องสัญญาณเท่ากันกับอินพุตที่มี ถ้า rtype เป็นลบเมทริกซ์เอาต์พุตจะมีประเภทเดียวกับอินพุต |
3 |
alpha เป็นสเกลแฟกเตอร์เสริม |
4 |
beta เป็นเดลต้าทางเลือกที่เพิ่มให้กับค่าที่ปรับขนาด |
นอกเหนือจากเมธอด convertTo แล้วยังมีเมธอดอื่น ๆ ที่จัดเตรียมโดยคลาส Mat มีการอธิบายสั้น ๆ -
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 |
adjustROI(int dtop, int dbottom, int dleft, int dright) จะปรับขนาดและตำแหน่งย่อยในเมทริกซ์หลัก |
2 |
copyTo(Mat m) มันคัดลอกเมทริกซ์ไปยังอีกอันหนึ่ง |
3 |
diag() มันดึงเส้นทแยงมุมออกจากเมทริกซ์หรือสร้างเมทริกซ์แนวทแยง |
4 |
dot(Mat m) มันคำนวณผลคูณดอทของเวกเตอร์สองตัว |
5 |
reshape(int cn) มันเปลี่ยนรูปร่างและ / หรือจำนวนช่องของเมทริกซ์ 2 มิติโดยไม่ต้องคัดลอกข้อมูล |
6 |
submat(Range rowRange, Range colRange) มันแยกเมทริกซ์ย่อยเป็นรูปสี่เหลี่ยมผืนผ้า |
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการใช้คลาส Mat เพื่อเพิ่มความสว่างของภาพ -
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.highgui.Highgui;
public class Main {
static int width;
static int height;
static double alpha = 2;
static double beta = 50;
public static void main( String[] args ) {
try{
System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
Mat source = Highgui.imread("digital_image_processing.jpg",Highgui.CV_LOAD_IMAGE_COLOR);
Mat destination = new Mat(source.rows(),source.cols(),
source.type());
source.convertTo(destination, -1, alpha, beta);
Highgui.imwrite("brightWithAlpha2Beta50.jpg", destination);
} catch (Exception e) {
System.out.println("error:" + e.getMessage());
}
}
}
เอาต์พุต
เมื่อคุณรันโค้ดที่กำหนดจะเห็นผลลัพธ์ต่อไปนี้ -