ไลบรารีโอเพ่นซอร์ส C++ สำหรับการประมวลผลภาพคู่ขนาน
C++ API ฟรีที่รองรับคอนเทนเนอร์รูปภาพ N-dimensional ทั่วไป ชุดอัลกอริธึมการประมวลผลรูปภาพที่ได้รับการปรับปรุง และอื่นๆ
Video++ เป็น API การแก้ไขภาพ C++ แบบมัลติเธรดและข้ามแพลตฟอร์มที่มีประสิทธิภาพ ซึ่งช่วยให้นักพัฒนาซอฟต์แวร์สามารถทำงานกับรูปภาพและไฟล์วิดีโอภายในแอปพลิเคชัน C++ ของตนเองได้ ไลบรารีนี้จัดการได้ง่ายมาก และพัฒนาโดยใช้คุณลักษณะใหม่ของ C++11/C++14 แนวคิดหลักเบื้องหลัง Video++ คือการออกแบบใหม่ตั้งแต่ต้นจนจบเฟรมเวิร์กการประมวลผลภาพที่ใช้ประโยชน์จากมาตรฐาน C++ ใหม่
คุณสมบัติที่ยอดเยี่ยมของไลบรารีวิดีโอ ++ เป็นคําจํากัดความง่ายของเคอร์เนลการประมวลผลภาพแบบขนานซึ่งทํางานได้เร็วกว่าเวอร์ชันที่ไม่ได้รับการปรับให้เหมาะสมถึง 32 เท่า ไลบรารีได้รวมคุณสมบัติที่สําคัญหลายอย่างเช่นภาชนะภาพ N มิติทั่วไปชุดอัลกอริทึมการประมวลผลภาพที่เพิ่มขึ้นการเติมสีการจัดการหน่วยความจําที่ดีขึ้นขอบเติมการใช้ภาพย่อย 3 มิติและหลาย
ห้องสมุดมีคุณลักษณะที่เป็นประโยชน์สําหรับการเข้าถึงภาชนะภาพที่มีการเข้าถึงบัฟเฟอร์พิกเซลและไปยังอีกชิ้นส่วนของข้อมูลที่เป็นประโยชน์ในการประมวลผลภาพ นอกจากนี้ยังให้ความร่วมมือกับ openCV และสนับสนุนการแปลงที่ชัดเจนและจาก OpenCV ประเภทภาพ
เริ่มต้นใช้งานวิดีโอ++
โปรดใช้คำสั่งต่อไปนี้สำหรับการติดตั้งที่สมบูรณ์ Video++ เป็นส่วนหัวเท่านั้น ดังนั้นเพื่อเข้าถึงคุณลักษณะที่จำเป็นทั้งหมด คุณต้องรวมส่วนหัว vpp.h คุณต้องรับ Eigen3 และ Boost บนระบบของคุณก่อนติดตั้ง Video++
ติดตั้งวิดีโอ ++ ผ่านคําสั่ง git
git clone https://github.com/matt-42/vpp.git
cd vpp
./install.sh your_install_prefix # Install iod and vpp in a given prefix
การประมวลผลภาพคู่ขนานผ่าน C++ Library
ห้องสมุดโอเพ่นซอร์สวิดีโอ++ ช่วยให้ผู้พัฒนาซอฟต์แวร์กําหนดเคอร์เนลสําหรับการประมวลผลภาพคู่ขนานโดยใช้คําสั่ง C++ สิ่งที่ดีคือเมล็ดสามารถทํางานได้เร็วกว่าปกติถึง 32 เท่า มันแพร่กระจายการดําเนินการของเคอร์เนลทั่วแกน CPU ที่มีอยู่ทั้งหมดทํางานหลายกระทู้ที่ทํางานบนแกนหลาย มันสนับสนุนคุณสมบัติเช่นการกรอกข้อมูลชายแดนที่มีค่าเติมกระจกชายแดนการตั้งค่าการจัดตําแหน่งการเข้าถึงพิกเซลภาพใช้ตัวกรองในภาพและอื่น ๆ
การเพิ่มรูปภาพผ่าน C++
ห้องสมุดโอเพ่นซอร์สวิดีโอ ++ ได้ให้ฟังก์ชันการทํางานที่สมบูรณ์สําหรับการเพิ่มภาพโดยใช้ตัวกรอง pixel-wise มันมีชุดของวัตถุทั่วไปและกิจวัตรที่ช่วยให้การเขียนการใช้งานที่มีประสิทธิภาพของตัวกรองที่เรียบง่ายได้อย่างรวดเร็ว ตัวกรองการประมวลผลภาพจํานวนมากเป็นฟังก์ชั่นที่เรียบง่ายที่เติมพิกเซลด้วยค่าที่คํานวณจึงไม่มีการพึ่งพาการคํานวณระหว่างพิกเซลที่แตกต่างกัน
เพิ่มภาพ 2D ผ่าน C++
int main()
{
using namespace vpp;
image2d img1(make_box2d(100, 200), _border = 3);
image2d img2({100, 200});
assert(&img1(0,0) == &img1[0][0]);
assert(&img1(0,0) == &(*img1.begin()));
assert(img1.domain() == img2.domain());
assert(img1.nrows() == 100);
assert(img1.ncols() == 200);
{
image2d img(make_box2d(5, 5), _border = 1);
assert(&img(0,0) == img.address_of(vint2(0,0)));
assert(&img(4,0) == img.address_of(vint2(4,0)));
auto s1 = img.subimage(img.domain());
assert(&s1(0,0) == s1.address_of(vint2(0,0)));
for (auto p : img.domain())
assert(img(p) == img[p[0]][p[1]]);
for (auto p : img.domain())
assert(img(p) == s1[p[0]][p[1]]);
}
}