ลักษณะต่าง ๆ ของรูปภาพมีการปรับแต่งเพื่อเพิ่มรูปลักษณ์ของพวกเขา คอนทราสต์), ความสว่าง และ แกมมา เป็นหนึ่งในคุณลักษณะที่ใช้บ่อยที่สุดในการปรับปรุงคุณภาพของภาพ ในหลายกรณี คุณต้องควบคุมแอตทริบิวต์เหล่านี้ทางโปรแกรมจากภายในแอปพลิเคชัน Java ของคุณ เพื่อให้บรรลุเป้าหมายดังกล่าว ในบทความนี้ คุณจะได้เรียนรู้วิธีปรับคอนทราสต์ ความสว่าง และแกมมาของรูปภาพใน Java
- Java API เพื่อปรับความสว่างของภาพ คอนทราสต์ และแกมมา
- ปรับความสว่างของรูปภาพใน Java
- ปรับความคมชัดของรูปภาพใน Java
- แก้ไข Gamma ของรูปภาพใน Java
Java API เพื่อปรับคอนทราสต์ ความสว่าง และแกมมาของภาพ
ในการควบคุมคอนทราสต์ ความสว่าง และแกมม่าของภาพ เราจะใช้ Aspose.Imaging for Java เป็น API การประมวลผลภาพอันทรงพลังที่รองรับ รูปแบบภาพที่หลากหลาย เมื่อใช้ API คุณสามารถแก้ไขภาพได้อย่างราบรื่นโดยไม่ต้องเขียนโค้ดที่ซับซ้อน คุณสามารถ ดาวน์โหลด JAR ของ API และเพิ่มข้อมูลอ้างอิงไปยังโครงการของคุณได้ นอกจากนี้ คุณสามารถติดตั้งลงในแอปพลิเคชันที่ใช้ Maven ของคุณได้โดยเพิ่มการกำหนดค่าต่อไปนี้ใน pom.xml
พื้นที่เก็บข้อมูล:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
การพึ่งพา:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging-java</artifactId>
<version>21.12</version>
<classifier>jdk16</classifier>
</dependency>
ปรับความสว่างของรูปภาพใน Java
ความสว่างถูกปรับเพื่อเพิ่มหรือลดความมืดหรือความสว่างของภาพ มาดูวิธีปรับความสว่างของรูปภาพใน Java กัน
- ขั้นแรก ใช้คลาส RasterImage เพื่อโหลดรูปภาพ
- จากนั้น ใช้เมธอด RasterImage.cacheData() เพื่อแคชรูปภาพ หากยังไม่มี
- ปรับความสว่างของภาพโดยใช้เมธอด RasterImage.adjustBrightness(int)
- สุดท้าย บันทึกภาพโดยใช้เมธอด RasterImage.save(string)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีปรับความสว่างของรูปภาพใน Java
// โหลดภาพ
RasterImage image = (RasterImage) com.aspose.imaging.Image.load("image.png");
// ภาพแคชเพื่อประสิทธิภาพที่ดีขึ้น
if (!image.isCached()) {
image.cacheData();
}
// ปรับความสว่าง
image.adjustBrightness(70);
// บันทึกภาพ
image.save("image-updated-brightness.png");
ต่อไปนี้คือการเปรียบเทียบภาพอินพุตและเอาต์พุตหลังจากปรับความสว่าง
ตั้งค่าคอนทราสต์ของรูปภาพใน Java
ความแตกต่างของความเข้มพิกเซลของภาพเรียกว่าคอนทราสต์ ค่าคอนทราสต์จะเพิ่มขึ้นหรือลดลงเพื่อควบคุมการมองเห็นของวัตถุในภาพ การเพิ่มความคมชัดในระดับหนึ่งทำให้ภาพดูชัดเจนยิ่งขึ้น ในขณะที่การลดค่าคอนทราสต์จะทำให้แยกแยะวัตถุได้น้อยลง
ต่อไปนี้เป็นขั้นตอนในการปรับคอนทราสต์ของรูปภาพใน Java
- ขั้นแรก ใช้คลาส RasterImage เพื่อโหลดภาพ
- จากนั้น ใช้เมธอด RasterImage.cacheData() เพื่อแคชรูปภาพ หากยังไม่มี
- ใช้เมธอด RasterImage.adjustContrast(float) เพื่อตั้งค่าคอนทราสต์ในช่วง [-100, 100]
- สุดท้าย บันทึกภาพโดยใช้เมธอด RasterImage.save(string)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการปรับคอนทราสต์ของรูปภาพใน Java
// โหลดภาพ
RasterImage image = (RasterImage) com.aspose.imaging.Image.load("image.png");
// ภาพแคชเพื่อประสิทธิภาพที่ดีขึ้น
if (!image.isCached()) {
image.cacheData();
}
// ปรับความคมชัด
image.adjustContrast(30);
// บันทึกภาพ
image.save("image-updated-contrast.png");
ต่อไปนี้คือการเปรียบเทียบภาพอินพุตและเอาต์พุตหลังจากเพิ่มค่าคอนทราสต์
ตั้งค่า Gamma ของรูปภาพใน Java
แอตทริบิวต์แกมมาควบคุมอัตราส่วนของสีแดง เขียว และน้ำเงินในรูปภาพ นอกจากนี้ยังส่งผลต่อความสว่างของภาพ ต่อไปนี้เป็นขั้นตอนในการปรับแกมมาของรูปภาพใน Java
- ขั้นแรก ใช้คลาส RasterImage เพื่อโหลดภาพ
- จากนั้น ใช้เมธอด RasterImage.cacheData() เพื่อแคชรูปภาพ หากยังไม่มี
- หากต้องการเปลี่ยนแกมม่าของภาพ ให้ใช้เมธอด RasterImage.adjustGamma(float, float, float)
- สุดท้าย บันทึกภาพโดยใช้เมธอด RasterImage.save(string)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการปรับแกมมาของรูปภาพใน Java
// โหลดภาพ
RasterImage image = (RasterImage) com.aspose.imaging.Image.load("image.png");
// ภาพแคชเพื่อประสิทธิภาพที่ดีขึ้น
if (!image.isCached()) {
image.cacheData();
}
// ปรับแกมมา
image.adjustGamma(2.2f, 2.2f, 2.2f);
// บันทึกภาพ
image.save("image-updated-gamma.png");
ต่อไปนี้คือการเปรียบเทียบภาพอินพุตและเอาต์พุตหลังจากแก้ไขค่าแกมมา
Java Image API ที่ดีที่สุด - รับใบอนุญาตฟรี
คุณสามารถรับ ใบอนุญาตชั่วคราวฟรี เพื่อใช้ Aspose.Imaging for Java โดยไม่มีข้อจำกัดในการประเมิน
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีปรับคอนทราสต์ ความสว่าง และแกมมาของรูปภาพใน Java นอกจากนี้ ตัวอย่างโค้ดยังแสดงให้เห็นว่าการปรับเปลี่ยนค่าคอนทราสต์ ความสว่าง และแกมมาส่งผลต่อภาพอย่างไร หากต้องการสำรวจเพิ่มเติมเกี่ยวกับ API การประมวลผลภาพ Java โปรดไปที่ เอกสารประกอบ นอกจากนี้ คุณสามารถดาวน์โหลดตัวอย่างซอร์สโค้ดของ API ได้จาก GitHub ในกรณีที่มีข้อสงสัย ติดต่อเราได้ที่ ฟอรัม