ปรับคอนทราสต์ ความสว่าง และแกมม่าของภาพใน Java

ลักษณะต่าง ๆ ของรูปภาพมีการปรับแต่งเพื่อเพิ่มรูปลักษณ์ของพวกเขา คอนทราสต์), ความสว่าง และ แกมมา เป็นหนึ่งในคุณลักษณะที่ใช้บ่อยที่สุดในการปรับปรุงคุณภาพของภาพ ในหลายกรณี คุณต้องควบคุมแอตทริบิวต์เหล่านี้ทางโปรแกรมจากภายในแอปพลิเคชัน Java ของคุณ เพื่อให้บรรลุเป้าหมายดังกล่าว ในบทความนี้ คุณจะได้เรียนรู้วิธีปรับคอนทราสต์ ความสว่าง และแกมมาของรูปภาพใน 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

ความแตกต่างของความเข้มพิกเซลของภาพเรียกว่าคอนทราสต์ ค่าคอนทราสต์จะเพิ่มขึ้นหรือลดลงเพื่อควบคุมการมองเห็นของวัตถุในภาพ การเพิ่มความคมชัดในระดับหนึ่งทำให้ภาพดูชัดเจนยิ่งขึ้น ในขณะที่การลดค่าคอนทราสต์จะทำให้แยกแยะวัตถุได้น้อยลง

ต่อไปนี้เป็นขั้นตอนในการปรับคอนทราสต์ของรูปภาพใน 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");

ต่อไปนี้คือการเปรียบเทียบภาพอินพุตและเอาต์พุตหลังจากเพิ่มค่าคอนทราสต์

ปรับความคมชัดของรูปภาพใน Java

ปรับคอนทราสต์ของภาพ

ตั้งค่า 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");

ต่อไปนี้คือการเปรียบเทียบภาพอินพุตและเอาต์พุตหลังจากแก้ไขค่าแกมมา

ปรับ Gamma ของรูปภาพใน Java

ปรับ Image Gamma

Java Image API ที่ดีที่สุด - รับใบอนุญาตฟรี

คุณสามารถรับ ใบอนุญาตชั่วคราวฟรี เพื่อใช้ Aspose.Imaging for Java โดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีปรับคอนทราสต์ ความสว่าง และแกมมาของรูปภาพใน Java นอกจากนี้ ตัวอย่างโค้ดยังแสดงให้เห็นว่าการปรับเปลี่ยนค่าคอนทราสต์ ความสว่าง และแกมมาส่งผลต่อภาพอย่างไร หากต้องการสำรวจเพิ่มเติมเกี่ยวกับ API การประมวลผลภาพ Java โปรดไปที่ เอกสารประกอบ นอกจากนี้ คุณสามารถดาวน์โหลดตัวอย่างซอร์สโค้ดของ API ได้จาก GitHub ในกรณีที่มีข้อสงสัย ติดต่อเราได้ที่ ฟอรัม

ดูสิ่งนี้ด้วย