Opencv 常用方法

主要是处理
二维数组和cv::mat得相互转换

opencv中cv::Mat就是一个holder memory得对象, 支持ref count。
如需要copy, 则需要clone, 直接赋值只是增加了holder 内部得ref count;
如果api 支持in-place, 则src/out可以是同一个mat, 否则讲src 作为out, src得data holder memory 会被reset;

BGR CPU 转NV21 方法:

 void bgr2yuvnv21(const unsigned char *__restrict__ src,
                                unsigned char *__restrict__ dst, int image_width,
                                int image_height) {
            int nv21_len = image_width * image_height;
            int y, u, v;
            for (int i = 0; i < image_height; i++) {
                for (int j = 0; j < image_width; j++) {
                    int curIndex = i * image_width + j;
                    int currentB = src[curIndex * 3 + 0];
                    int currentG = src[curIndex * 3 + 1];
                    int currentR = src[curIndex * 3 + 2];

                    y = ((77 * currentR + 150 * currentG + 29 * currentB + 128) >> 8) + 0;
                    u = ((-43 * currentR - 84 * currentG + 127 * currentB + 128) >> 8) + 128;
                    v = ((127 * currentR - 106 * currentG - 21 * currentB + 128) >> 8) + 128;

                    dst[i * image_width + j] = (uint8_t) clamp(y, 0, 255);
                    dst[nv21_len + (i >> 1) * image_width + (j & ~1) + 0] = (uint8_t) clamp(v, 0, 255);
                    dst[nv21_len + (i >> 1) * image_width + (j & ~1) + 1] = (uint8_t) clamp(u, 0, 255);
                }
            }
        }

使用opencv 在绘制矩形

//使用cv::imread或是直接实例化一个mat
          cv::Mat mask(size, CV_8UC3,cv::Scalar(0,0,0));
//绘制矩形, FILLED
            cv::rectangle(mask, lt, rb, cv::Scalar(255, 255, 255), cv::LineTypes::FILLED, 4, 0);
//将其转为灰度, 8UC1
            cv::Mat out_mask(size, CV_8UC1);
            cv::cvtColor(mask, out_mask, cv::COLOR_RGB2GRAY);

Opencv 生成随机噪声

cv::Mat img = cv::Mat::zeros(size, CV_8UC4);
            cv::randu(img, cv::Scalar::all(0), cv::Scalar::all(255));

Opencv 讲YUV 转成BGR

//NV21,420SP格式
 cv::Mat out_data(height * 1.5, width, CV_8UC1, yuv_data.get());
                        cv::Mat rgb_out;
                        cv::cvtColor(out_data, rgb_out, cv::COLOR_YUV2BGR_NV21);
                        cv::imwrite(outFilename.str().c_str(), rgb_out);

Opencv 将Y UV 分离格式转为BGR

            cv::Mat yuv_data(height * 1.5, width, CV_8UC1);
            cv::Mat y_data(height, width, CV_8UC1, input_frame.buffer.data.get());
            cv::Mat uv_data(height * 0.5f, width, CV_8UC1,
                            input_frame.buffer.data.get() + width * height);
            cv::Mat input[] = {y_data, uv_data};
            cv::vconcat(input, 2, yuv_data);
            cv::cvtColor(yuv_data, result, cv::COLOR_YUV2BGR_NV21);

About: kiah


3,723 thoughts on “Opencv 常用方法”

  1. Howdy very cool site!! Man .. Excellent .. Amazing .. I will bookmark your
    blog and take the feeds also?I am glad to search out a lot of useful information here within the post, we need develop extra techniques in this regard,
    thank you for sharing.

    Have a look at my blog; fios promo codes (Shasta)

  2. I carry on listening to the rumor speak about getting boundless online grant applications so I have been looking around for
    the most excellent site to get one. Could you advise me please,
    where could i acquire some?

    My blog; home business ideas (Lowell)

  3. Good post but I was wanting to know if you could
    write a litte more on this subject? I’d be very thankful if you could elaborate a
    little bit more. Appreciate it!

    Feel free to visit my site; bread store coupons (Anne)

  4. Интернет-магазин продает дизайнерскую мебель личного производства по привлекательным ценам. В случае если не желаете приобретать стандартные мебельные гарнитуры, а желаете подобрать модели определенного стиля, которые будут гармонично сочетаться и станут украшением любого помещения, тогда загляните в каталог онлайн-магазина.
    Вы сможете подобрать мебель:
    · для гостиной,
    · столовой,
    · спальни,
    · прихожей,
    · кабинета.
    Мебель бренда авторского исполнения делается в различных стилях. Покупатели могут подобрать дизайнерские мебельные комплекты для комнат, выполненных в традиционном, скандинавском стиле, провансе, арт-деко, модерне, минимализме.

    Помимо столов, стульев, шкафов, консолей и прочей мебели на портале компании «Эксив» вы можете подобрать дизайнерские предметы декора, которые дополнят интерьер и дадут помещению особенность. Зеркала, люстры, торшеры, бра, светильники можно подобрать для каждой комнаты, прихожей, лоджии, террасы, напольные зеркала https://farming-mods.com/.
    Предметы мебели делаются из натуральных по максимуму материалов с высококачественной фирменной фурнитурой. Для обивки мягкой мебели используются: велюр, натуральная и экокожа, рогожка, нубук, микровельвет, шенил. Каркас изготавливается из массива дерева.
    Как можно сделать заказа в онлайн-магазине бренда Exiv
    В ассортименте вы сможете подобрать готовые изделия и заказать изготовление мебели подходящей для вас конфигурации по индивидуальным размерам. При этом у вас будет возможность кроме этого подобрать цвет материала отделки.
    Окончательная цена выбранной вами мебели, изготовленной на заказ, будет зависеть от материала и размеров. Для того чтобы узнать стоимость, позвоните менеджеру по телефонам, обозначенным на веб-сайте. По заказу мебель изготавливается в среднем в течение 2-3 недель. Помимо этого вы можете забронировать на 5 дней понравившиеся предметы, которые будут отложены специально для вас до оплаты.
    Заказать товары в компании «Эксив» можно с доставкой по Москве, Подмосковью и отправкой транспортными компаниями во все регионы России. Стоимость доставки по Москве – 1000 р. Для того чтобы узнать стоимость доставки в другие города, позвоните консультанту либо задайте вопрос в форме обратной связи.
    Оплата возможна курьеру при получении заказа наличными или банковской картой. Также вы можете оплатить товар на сайте или по безналичному расчету. Если заказ отправляется в регионы, необходимо полная предоплата.

  5. Интернет-магазин продает дизайнерскую мебель собственного производства по привлекательным ценам. Если не желаете покупать стандартные мебельные гарнитуры, а желаете подобрать модели определенного стиля, которые будут гармонично сочетаться и станут украшением любого помещения, тогда загляните в каталог онлайн-магазина.
    Вы можете подобрать мебель:
    · для гостиной,
    · столовой,
    · спальни,
    · прихожей,
    · кабинета.
    Мебель бренда авторского исполнения изготавливается в различных стилях. Покупатели могут выбрать дизайнерские мебельные комплекты для комнат, выполненных в традиционном, скандинавском стиле, провансе, арт-деко, модерне, минимализме.

    Помимо столов, стульев, шкафов, консолей и прочей мебели на интернет-сайте компании «Эксив» вы можете подобрать дизайнерские предметы декора, которые дополнят интерьер и дадут помещению индивидуальность. Зеркала, люстры, торшеры, бра, светильники можно выбрать для каждой комнаты, прихожей, лоджии, террасы, напольные зеркала https://farming-mods.com/.
    Предметы мебели изготавливаются из натуральных по максимуму материалов с высококачественной фирменной фурнитурой. Для обивки мягкой мебели используются: велюр, натуральная и экокожа, рогожка, нубук, микровельвет, шенил. Каркас делается из массива дерева.
    Как можно сделать заказа в онлайн-магазине бренда Exiv
    В каталоге вы сможете подобрать готовые изделия и заказать изготовление мебели нужной для вас конфигурации по индивидуальным размерам. При этом у вас будет возможность кроме этого выбрать цвет материала отделки.
    Окончательная стоимость выбранной вами мебели, изготовленной на заказ, будет зависеть от материала и размеров. Для того чтобы узнать цену, позвоните менеджеру по телефонам, обозначенным на сайте. По заказу мебель изготавливается в среднем в течение 2-3 недель. Кроме этого можно забронировать на 5 дней понравившиеся предметы, которые будут отложены специально для вас до оплаты.
    Заказать товары в фирмы «Эксив» можно с доставкой по Москве, Подмосковью и отправкой транспортными компаниями во все регионы Рф. Цена доставки по Москве – 1000 р. Чтобы узнать стоимость доставки в другие города, позвоните консультанту либо задайте вопрос в форме обратной связи.
    Оплата возможна курьеру при получении заказа наличными либо банковской картой. Кроме этого вы можете оплатить товар на портале или по безналичному расчету. В случае если заказ отправляется в регионы, требуется полная предоплата.

  6. Usually I do not read article on blogs, however I wish to say that this write-up very
    forced me to check out and do so! Your writing taste has been surprised me.
    Thanks, quite nice article.

    My web-site :: free pmp practice exam (dcshru.ru)

  7. I would like to thank you for the efforts you have put in writing this website.
    I am hoping the same high-grade website post from you in the upcoming also.
    In fact your creative writing skills has inspired me to get
    my own site now. Actually the blogging is spreading its wings fast.
    Your write up is a great example of it.

    my web site – groceries shopping online – Fermin,

  8. I simply wanted to appreciate you again. I do not know the things I
    would’ve handled without the actual suggestions shown by you relating to my problem.
    Previously it was an absolute troublesome circumstance in my opinion, but taking a look at the expert
    strategy you dealt with the issue took me to weep with
    contentment. Now i am thankful for this service and in addition expect you find out
    what a great job you are doing instructing the mediocre ones thru a
    site. I am certain you have never met all of us.

    Also visit my website :: microsoft certification training (Nelle)

  9. Appreciation to my father who informed me regarding this
    blog, this weblog is actually amazing.

    Also visit my web site; microsoft certification books – Ernie

  10. I pay a visit everyday a few web pages and sites to read posts, however
    this webpage offers quality based posts.

    My web page … elective exam (Eula)

  11. Холостячка 2 сезон https://bit.ly/39ioLkW Смотреть онлайн шоу Холостячка 2 сезон на СТБ.
    Пост шоу можно смотреть тут. Холостячка стб 2 сезон 1-2 серия

  12. Холостячка 2 сезон https://bit.ly/39ioLkW Смотреть онлайн шоу Холостячка 2 сезон на СТБ.
    Пост шоу можно смотреть тут. Холостячка стб 2 сезон 1-2 серия

  13. Холостячка 2 сезон https://bit.ly/39ioLkW Смотреть онлайн шоу Холостячка 2 сезон на СТБ.
    Пост шоу можно смотреть тут. Холостячка стб 2 сезон 1-2 серия

  14. Холостячка 2 сезон https://bit.ly/39ioLkW Смотреть онлайн шоу Холостячка 2 сезон на СТБ.
    Пост шоу можно смотреть тут. Холостячка стб 2 сезон 1-2 серия

  15. Холостячка 2 сезон https://bit.ly/39ioLkW Смотреть онлайн шоу Холостячка 2 сезон на СТБ.
    Пост шоу можно смотреть тут. Холостячка стб 2 сезон 1-2 серия

  16. Холостячка 2 сезон https://bit.ly/39ioLkW Смотреть онлайн шоу Холостячка 2 сезон на СТБ.
    Пост шоу можно смотреть тут. Холостячка стб 2 сезон 1-2 серия

  17. Холостячка 2 сезон https://bit.ly/39ioLkW Смотреть онлайн шоу Холостячка 2 сезон на СТБ.
    Пост шоу можно смотреть тут. Холостячка стб 2 сезон 1-2 серия

  18. Холостячка 2 сезон https://bit.ly/39ioLkW Смотреть онлайн шоу Холостячка 2 сезон на СТБ.
    Пост шоу можно смотреть тут. Холостячка стб 2 сезон 1-2 серия

  19. Холостячка 2 сезон https://bit.ly/39ioLkW Смотреть онлайн шоу Холостячка 2 сезон на СТБ.
    Пост шоу можно смотреть тут. Холостячка стб 2 сезон 1-2 серия

  20. Холостячка 2 сезон https://bit.ly/39ioLkW Смотреть онлайн шоу Холостячка 2 сезон на СТБ.
    Пост шоу можно смотреть тут. Холостячка стб 2 сезон 1-2 серия

  21. Холостячка 2 сезон https://bit.ly/39ioLkW Смотреть онлайн шоу Холостячка 2 сезон на СТБ.
    Пост шоу можно смотреть тут. Холостячка стб 2 сезон 1-2 серия

  22. I precisely needed to say thanks once more. I do not know the
    things that I could possibly have sorted out without the actual information discussed by you regarding such
    theme. It actually was a intimidating condition in my view,
    however , observing your expert mode you resolved that
    forced me to leap over contentment. I am just happy for this assistance and in addition believe you comprehend what a
    powerful job that you’re providing instructing people today using your webblog.
    Most likely you have never come across any of us.

    Also visit my webpage; pass microsoft cer (Ferne)

  23. always i used to read smaller articles which also clear their motive, and that is also happening with this post which I
    am reading now.

    My blog: exam strategies (Johanna)

  24. Hi! I’ve been reading your site for a long time now and finally got the bravery to go ahead and give you
    a shout out from Kingwood Tx! Just wanted to tell
    you keep up the good work!

    my site pmp certification questions (Suzette)

  25. continuously i used to read smaller posts that also clear their motive, and that is also happening with this post which I am reading here.

    Review my web site; pmp exam questions (Avis)

  26. Джошуа-Усик: объявлен состав пар андеркарда. Поделиться: Лоуренс Околи. 26 Августа 2021, 10:38. Организаторы вечера бокса 25 сентября в Лондоне (Англия), главным событием которого станет бой между Джошуа Усик дивитися онлайн Усик Джошуа – промоутер прокоментував важливість бою для

  27. Ковалев про бой Усик – Джошуа. Бывший чемпион мира в полутяжелом весе Сергей Ковалев отреагировал на анонс боя между тяжеловесом Александром Усиком (18-0, 13 КО) и чемпионом WBA, WBO и IBF Энтони Джошуа Усик дивитися онлайн Усик Джошуа — коли бій — де дивитися — прогноз букмекерів

  28. First of all I would like to say superb blog! I had a quick question that I’d like
    to ask if you do not mind. I was interested to find out how you center yourself and clear your head before
    writing. I have had a tough time clearing my thoughts in getting
    my ideas out. I truly do take pleasure in writing however it just seems like the first
    10 to 15 minutes are wasted just trying to figure out
    how to begin. Any suggestions or hints? Many thanks!

    Feel free to visit my web blog certification exam –
    Clinton,

  29. You are so awesome! I do not believe I have read something like that before.
    So great to discover another person with a few unique thoughts on this issue.
    Seriously.. thank you for starting this up. This web site is one
    thing that is required on the internet, someone
    with a little originality!

    my web page :: exin certification – Rusty

  30. Hi, i feel that i noticed you visited my weblog so i
    came to ?return the desire?.I am attempting to to find
    things to enhance my website!I assume its ok to use a few of your
    ideas!!

    my web blog: ec0-350 exam [Clyde]

  31. Oh my goodness! Incredible article dude! Thank you, However I am going through issues with your
    RSS. I don’t understand why I cannot subscribe to it.
    Is there anybody else having identical RSS issues? Anyone that knows the answer can you kindly respond?
    Thanx!!

    my web page :: certification exams

  32. Hi my family member! I wish to say that this post is amazing, great written and include almost
    all important infos. I’d like to see extra posts like this.

    my website – free study materials (ask.fm)

  33. I really like your blog.. very nice colors & theme. Did you create this website yourself or did
    you hire someone to do it for you? Plz reply as I’m looking to create my own blog and would like to know where u got this from.
    thanks

    Visit my page; test anxiety

  34. You’re so interesting! I don’t think I have read through anything
    like that before. So good to discover another person with unique thoughts
    on this topic. Really.. thank you for starting
    this up. This web site is one thing that is required on the
    internet, someone with a bit of originality!

    my webpage :: ccna boot camp (Lacey)

  35. I’m just writing to make you know of the notable discovery my wife’s
    child enjoyed reading your webblog. She even learned such a lot of details, which
    include what it is like to have an excellent helping mood to
    let most people completely fully grasp a number of
    complex subject matter. You really did more than our own desires.

    Many thanks for imparting such practical, safe, explanatory and easy guidance on your topic to Jane.

    Here is my homepage: cisco certification (Enid)

  36. hey there and thank you for your information ? I’ve certainly picked up something
    new from right here. I did however expertise several technical points using this website, as I experienced to
    reload the site many times previous to I could get it to load properly.
    I had been wondering if your web hosting is OK? Not that I’m complaining, but sluggish loading
    instances times will often affect your placement in google and could damage your quality score if advertising and marketing with
    Adwords. Well I am adding this RSS to my e-mail and
    can look out for a lot more of your respective interesting content.
    Make sure you update this again soon.

    Review my web site … oracle certification

  37. Oh my goodness! Amazing article dude! Thank you, However
    I am having troubles with your RSS. I don’t understand the reason why I cannot join it.
    Is there anybody else having similar RSS problems?
    Anyone that knows the answer can you kindly respond? Thanks!!

    Take a look at my site: exam strategies (Brigida)

  38. I pay a visit each day some blogs and websites to read articles or reviews, however this
    webpage offers feature based posts.

    Take a look at my homepage – afqt test (Lakesha)

  39. Generally I don’t learn article on blogs, however I would like
    to say that this write-up very compelled me to try and do so!

    Your writing taste has been amazed me. Thanks, quite great post.

    My homepage 312-50 Exam

  40. always i used to read smaller articles that as well clear their motive, and that
    is also happening with this paragraph which I am reading at this time.

    Also visit my web-site – pmp exam questions (Darlene)

  41. Usually I do not read article on blogs, however I
    would like to say that this write-up very forced me
    to check out and do it! Your writing style has been surprised me.
    Thanks, very nice post.

    my webpage :: exam related information (Mauricio)