ºìÁªLinuxÃÅ»§
Linux°ïÖú

OpenCV 3.3.0·¢²¼£¬¸Ä½ø¶ÔÉî¶Èѧϰģ¿éµÄÖ§³Ö

·¢²¼Ê±¼ä:2017-08-07 09:08:58À´Ô´:ºìÁª×÷Õß:baihuo
OpenCV 3.3.0 ÒÑ·¢²¼£¬Ð°汾´ó·ù¶È¸Ä½øÁËÉî¶Èѧϰģ¿é£¬²¢´øÀ´ÁË´óÁ¿µÄÓÅ»¯¡£

OpenCV 3.3 ʹÓÃÁ˼ÓËÙµÄ dnn Ä£¿é£¬²¢½«ÆäÒÆ¶¯µ½ÁËÖ÷´æ´¢¿â£¬ÕâÒ²ÊÇÊ×´ÎÔÚ OpenCV ÖгöÏÖ Halide£¬´øÀ´Á˶àÏîÓÅ»¯ºÍÆäËûµÄ¸Ä½ø¡£

³ý´ËÖ®Í⣬»¹ÓÐ¶Ô C++ 11 ·½ÃæµÄÖ§³Ö£º

OpenCV ÏÖÔÚ¿ÉÒÔ×÷Ϊ C++ 11 ¿âÅäÖú͹¹½¨¡£Í¨¹ý´«Êä -DENABLE_CXX11=ON µ½ CMake ÒÔÆôÓøù¦ÄÜ¡£ÔÚһЩÏÖ´úµÄ Linux ·¢ÐаæÉÏ£¬ÕâÊÇĬÈÏÆôÓõģ¬Èç Fedora¡£

Ϊ C++ 11 Óû§Ìí¼ÓÁËÐÂÌØÐÔ[code]// 1. use parallel_for_ with lambda to compute Mandelbrot fractal
parallel_for_(Range(0, img.rows*img.cols), [&](const Range& r) {
for (int r = r.start; r < r.end; r++) {
int i = r/img.cols, j = r%img.cols, t, maxiter=500;
complex z0(j * 2.7f/img.cols - 2.1f,
i * 2.4f/img.rows - 1.2f);
for (t = 0; t < maxiter; t++) {
if (z.real()*z.real()+z.imag()*z.imag()> 4.f) break;
z = z*z + z0;
}
img.at(i, j)=uchar(sqrt((float)t/maxiter)*255);
}});

// 2. using C++ 11 initializers
auto A = Mat_({0, -1, 0, -1, 5, -1, 0, -1, 0}).reshape(1, 3);
Vec_ digits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

// 3. apply LUT to 8-bit image in C++ 11 style
Mat_ img = imread("lena.jpg");
for( auto& pixel: img ) {
pixel[0] = gamma_lut[pixel[0]];
pixel[1] = gamma_lut[pixel[1]];
pixel[2] = gamma_lut[pixel[2]];
}[/code]OpenCV ÊÇ Intel ¿ªÔ´µÄ¼ÆËã»úÊÓ¾õ¿â¡£ËüÓÉһϵÁÐ C º¯ÊýºÍÉÙÁ¿ C++ À๹³É£¬ÊµÏÖÁËͼÏñ´¦ÀíºÍ¼ÆËã»úÊÓ¾õ·½ÃæµÄºÜ¶àͨÓÃËã·¨¡£OpenCV ÓµÓаüÀ¨ 300 ¶à¸ö C º¯ÊýµÄ¿çƽ̨µÄÖС¢¸ß²ã API¡£Ëü²»ÒÀÀµÓÚÆäËüµÄÍⲿ¿â----¾¡¹ÜÒ²¿ÉÒÔʹÓÃijЩÍⲿ¿â¡£

OpenCV ¶Ô·ÇÉÌÒµÓ¦ÓúÍÉÌÒµÓ¦Óö¼ÊÇÃâ·Ñ£¨FREE£©µÄ¡££¨Ï¸½Ú²Î¿¼ license£©¡£

OpenCV Ϊ Intel Integrated Performance Primitives (IPP) ÌṩÁË͸Ã÷½Ó¿Ú¡£ÕâÒâζ×ÅÈç¹ûÓÐÎªÌØ¶¨´¦ÀíÆ÷ÓÅ»¯µÄµÄ IPP ¿â£¬ OpenCV ½«ÔÚÔËÐÐʱ×Ô¶¯¼ÓÔØÕâЩ¿â¡£

Èí¼þÏêÇ飺https://github.com/opencv/opencv/wiki/ChangeLog

ÏÂÔØµØÖ·£ºhttps://github.com/opencv/opencv/releases/download/3.3.0/opencv-3.3.0-android-sdk.zip

À´×Ô:¿ªÔ´ÖйúÉçÇø
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ