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

Previous Next

เริ่มต้นใช้งาน 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

 ไทย