Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะแปลงภาพเนกาทีฟเป็นภาพบวกโดยใช้ไลบรารี Java OpenCV ได้อย่างไร


การแปลงภาพเชิงลบเป็นบวก -

  • อ่านรูปภาพที่ต้องการโดยใช้วิธี ImageIO.read()

  • รับความสูงและความกว้างของรูปภาพ

  • การใช้การวนซ้ำเพื่อวนซ้ำในแต่ละพิกเซลในภาพ

  • รับค่าพิกเซลโดยใช้เมธอด getRGB()

  • ในการดึงค่าแต่ละค่าจากพิกเซล คุณต้องเลื่อนไปทางขวาไปยังตำแหน่งเริ่มต้นของแต่ละสี เช่น 24 สำหรับ alpha 16 สำหรับสีแดง เป็นต้น และดำเนินการในระดับบิตและดำเนินการด้วย 0Xff ซึ่งจะปิดบังตัวแปรที่ปล่อย 8 บิตสุดท้ายและไม่สนใจบิตที่เหลือทั้งหมด

  • คำนวณค่าใหม่สีแดง สีเขียว และสีน้ำเงินโดยลบออกจาก 255

  • สร้างพิกเซลขึ้นใหม่โดยเลื่อน ARGB ไปทางซ้ายในตำแหน่งที่เกี่ยวข้อง และรวมเข้ากับพิกเซลโดยใช้ OR ระดับบิต

  • ตั้งค่าพิกเซลใหม่โดยใช้เมธอด setRGB()

ตัวอย่าง

<ก่อน> นำเข้า java.io.File; นำเข้า java.io.IOException; นำเข้า java.awt.image.BufferedImage; นำเข้า javax.imageio.ImageIO; คลาสสาธารณะ Negative2Color { โมฆะสาธารณะหลัก (สตริง args []) โยน IOException { //การอ่านไฟล์รูปภาพ ไฟล์=new File("D:\\Images\\cat_neg.jpg"); BufferedImage img =ImageIO.read (ไฟล์); สำหรับ (int y =0; y >24)&0xff; int r =(p> >16)&0xff; int g =(p> >8)&0xff; int b =p&0xff; //ลบ RGB จาก 255 r =255 - r; ก. =255 - ก.; ข =255 - ข; //ตั้งค่า RGB ใหม่ p =(a<<24) | (r<<16) | (g<<8) | ข; img.setRGB(x, y, p); } } //การบันทึกไฟล์ภาพที่แก้ไข =ไฟล์ใหม่ ("D:\\Images\\negative_positive.jpg"); ImageIO.write(img, "jpg", ไฟล์); System.out.println("เสร็จสิ้น..."); }}

อินพุต

จะแปลงภาพเนกาทีฟเป็นภาพบวกโดยใช้ไลบรารี Java OpenCV ได้อย่างไร

ผลลัพธ์

จะแปลงภาพเนกาทีฟเป็นภาพบวกโดยใช้ไลบรารี Java OpenCV ได้อย่างไร