โอเพ่นซอร์ส ไลบรารีการประมวลผลภาพที่เร็วขึ้น สำหรับ C++
สร้าง จัดการ วาด แบ่ง คัดลอก และแปลงรูปแบบรูปภาพยอดนิยม ใช้ตัวกรอง แบ่งสองภาพ จัดตารางรูปภาพผ่านไลบรารี C++ ฟรี
libvips เป็นไลบรารีประมวลผลภาพขั้นสูงแบบโอเพ่นซอร์สที่ใช้หน่วยความจำต่ำมากและดำเนินการอย่างรวดเร็ว ไลบรารีสามารถจัดการภาพขนาดใหญ่ได้อย่างง่ายดายและรองรับรูปแบบไฟล์ภาพที่หลากหลาย เช่น JPEG, TIFF, PNG, WebP, HEIC, FITS, Matlab, OpenEXR, PDF, SVG, HDR, PPM / PGM / PFM, CSV, GIF , วิเคราะห์, NIfTI, DeepZoom และ OpenSlide มันสามารถโหลดรูปภาพได้อย่างง่ายดายผ่าน ImageMagick หรือ GraphicsMagick ทำให้สามารถทำงานกับรูปแบบเช่น DICOM
ไลบรารีดั้งเดิมถูกนําไปใช้ที่เหมาะสมและเทคนิคการใช้งานบางอย่างเช่นการสร้างรหัสรันไทม์ช่วยให้การประมวลผลภาพอย่างรวดเร็ว เมื่อเปรียบเทียบกับห้องสมุดการประมวลผลภาพอื่น ๆ ก็สังเกตว่าห้องสมุดต้องการ AM เล็กน้อยและทํางานได้เร็วขึ้นโดยเฉพาะอย่างยิ่งบนเครื่องที่มีหลายหมวก ส่วนใหญ่เป็นเพราะสถาปัตยกรรมอัจฉริยะที่ใช้ซึ่งแบ่งขั้นตอนการทํางานของภาพโดยอัตโนมัติ
ห้องสมุดให้การสนับสนุนสําหรับช่วงใหญ่ของประเภทตัวเลข, จาก 8 บิตง่าย int เพื่อความซับซ้อน 128 บิต. ไลบรารีการประมวลผลภาพส่วนใหญ่ใช้การดําเนินงานเกลียว แต่ไลบรารีในมืออื่น ๆ ใส่เกลียวลงในภาพในระบบและกําหนดสําเนาของท่อภาพทั้งหมดให้กับแต่ละหัวข้อสําหรับการทํางาน รูปแบบเกลียวแนวนอนนี้ทําให้สามารถใช้แคชโปรเซสเซอร์ได้ดีขึ้นและลดการล็อค
ไลบรารี libris เป็นห้องสมุดการประมวลผลภาพที่มีประสิทธิภาพดีกว่าห้องสมุดอื่น ๆ อีกมากมาย ไลบรารีได้ให้การสนับสนุนสําหรับคุณสมบัติการประมวลผลภาพที่สําคัญหลายประการเช่นการวาดภาพการแบ่งภาพสองภาพการวาดวงกลมบนภาพการคัดลอกภาพการวาดภาพภาพการวาดภาพเป็นภาพอื่นการวาดเส้นบนภาพการหล่อภาพ
เริ่มต้นใช้งาน libvips
โคลนแหล่งล่าสุดโดยใช้คำสั่งต่อไปนี้
ติดตั้ง libris ผ่านคําสั่ง git
git clone git://github.com/libvips/libvips.git
การสร้างจาก git จำเป็นต้องมีแพ็คเกจเพิ่มเติม คุณจะต้องมี gtk-doc และ gobject-introspection เป็นอย่างน้อย
ติดตั้งแพ็คเกจ libvips ผ่านคำสั่ง git
./autogen.sh
make
sudo make install
การแสดงภาพที่เร็วขึ้นผ่าน C++ API
ไลบรารี libris มีฟังก์ชั่นสําหรับการสร้างภาพและการจัดการที่เร็วขึ้นบนแพลตฟอร์มชั้นนําทั้งหมด บางส่วนของห้องสมุดการประมวลผลภาพชั้นนําเช่น ImageMagick และห้องสมุด Gt มีประสิทธิภาพมากและให้คุณสมบัติขั้นสูงสําหรับการทํางานกับภาพ แต่ต้องการหน่วยความจําจํานวนมากสําหรับการประมวลผลภาพ ในทางกลับกัน, ไลบรารีสามารถทําแทบจะเดียวกันที่ใช้งานเป็น ImageMagick, แต่ได้เร็วขึ้นมากและมีหน่วยความจําหน่วยวนขนาดเล็ก
บันทึกภาพไปยังรูปแบบอื่นที่รองรับ
ไลบรารี libvips โอเพ่นซอร์สได้จัดเตรียมชุดการดำเนินการที่โหลดและบันทึกภาพในรูปแบบต่างๆ ไลบรารีได้รวมการสนับสนุนในตัวสำหรับการบันทึกภาพในรูปแบบยอดนิยม เช่น TIFF, JPEG, PNG, วิเคราะห์, PPM, OpenEXR, CSV, Matlab, Radiance, RAW, FITS, WebP, SVG, PDF, GIF และ VIPS VipsForeign สามารถใช้โหลดและบันทึกภาพได้หลากหลายรูปแบบ
อ่านและเขียนรูปภาพไปยังหน่วยความจําผ่านทาง C++ API
int
main( int argc, char **argv )
{
gchar *buf;
gsize len;
int i;
if( VIPS_INIT( argv[0] ) )
vips_error_exit( NULL );
if( argc != 2 )
vips_error_exit( "usage: %s FILENAME", argv[0] );
if( !g_file_get_contents( argv[1], &buf, &len, NULL ) )
vips_error_exit( NULL );
for( i = 0; i < 10; i++ ) {
VipsImage *image;
void *new_buf;
size_t new_len;
printf( "loop %d ...\n", i );
if( !(image = vips_image_new_from_buffer( buf, len, "",
"access", VIPS_ACCESS_SEQUENTIAL,
NULL )) )
vips_error_exit( NULL );
if( vips_image_write_to_buffer( image,
".jpg", &new_buf, &new_len,
"Q", 95,
NULL ) )
vips_error_exit( NULL );
g_object_unref( image );
g_free( new_buf );
}
g_free( buf );
vips_shutdown();
return( 0 );
}
ปรับขนาดรูปภาพได้เร็วขึ้น
ไลบรารี libvips แบบโอเพ่นซอร์สช่วยให้นักพัฒนาซอฟต์แวร์สามารถปรับขนาดภาพได้ทันทีภายในแอปของตนเอง ขั้นแรก คุณต้องโหลดรูปภาพจากที่เก็บรูปภาพโดยระบุชื่อรูปภาพและที่อยู่ที่สมบูรณ์ หลังจากนั้นคุณสามารถปรับขนาดความกว้างและความสูงได้ตามต้องการ หลังจากนั้น คุณสามารถบันทึกตำแหน่งที่คุณต้องการด้วยขนาดใหม่
อ่านและเขียนรูปภาพไปยังหน่วยความจําผ่านทาง C++ API
int
vips_resize( VipsImage *in, VipsImage **out,
double scale, ... )
{
va_list ap;
int result;
va_start( ap, scale );
result = vips_call_split( "resize", ap, in, out, scale );
va_end( ap );
return( result );
}
การกรองภาพผ่าน C++ API
การกรองภาพเป็นคุณลักษณะที่มีคุณค่าที่ใช้ในการประมวลผลภาพต่างๆและการใช้งานวิสัยทัศน์คอมพิวเตอร์ทั่วโลก ไลบรารี libris ให้การสนับสนุนที่สมบูรณ์สําหรับการกรองภาพผ่านคําสั่ง C++ คุณสมบัติเช่นการทําให้เรียบเกิดขึ้นและการเพิ่มประสิทธิภาพขอบเป็นตัวอย่างของการดําเนินการประมวลผลภาพที่ใช้กับการกรอง ห้องสมุดยังรวมถึงตัวกรอง NG เช่นความแตกต่างไปทางซ้ายค่าเฉลี่ยของซ้ายและขึ้นปรับตัวเลือกคาดการณ์เพื่อนบ้านที่ดีที่สุดโดยอัตโนมัติและไม่มีตัวกรอง นอกจากนี้ยังมีตัวกรองการนําเข้าที่สามารถโหลดกับ libMagick และ OpenSlide