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
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
}});
// 2. using C++ 11 initializers
auto A = Mat_
Vec_
// 3. apply LUT to 8-bit image in C++ 11 style
Mat_
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
À´×Ô:¿ªÔ´ÖйúÉçÇø

