91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

深入理解OpenCV:實用計算機視覺項目解析 - 源代碼

資源截圖

代碼片段和文件信息

/*****************************************************************************
*???Cartoonifier?for?Android.
******************************************************************************
*???by?Shervin?Emami?5th?Dec?2012?(shervin.emami@gmail.com)
*???http://www.shervinemami.info/
******************************************************************************
*???Ch1?of?the?book?“Mastering?OpenCV?with?Practical?Computer?Vision?Projects“
*???Copyright?Packt?Publishing?2012.
*???http://www.packtpub.com/cool-projects-with-opencv/book
*****************************************************************************/

#include?
#include?
#include?
#include?


#include?“cartoon.h“
#include?“ImageUtils.h“?//?Handy?functions?for?debugging?OpenCV?images?by?Shervin?Emami.


using?namespace?std;
using?namespace?cv;

extern?“C“?{


//?Just?show?the?plain?camera?image?without?modifying?it.
JNIEXPORT?void?JNICALL?Java_com_Cartoonifier_CartoonifierView_ShowPreview(JNIEnv*?env?jobject
????????jint?width?jint?height?jbyteArray?yuv?jintArray?bgra)
{
????//?Get?native?access?to?the?given?Java?arrays.
????jbyte*?_yuv??=?env->GetByteArrayElements(yuv?0);
????jint*??_bgra?=?env->GetIntArrayElements(bgra?0);

????//?Prepare?a?cv::Mat?that?points?to?the?YUV420sp?data.
????Mat?myuv(height?+?height/2?width?CV_8UC1?(uchar?*)_yuv);
????//?Prepare?a?cv::Mat?that?points?to?the?BGRA?output?data.
????Mat?mbgra(height?width?CV_8UC4?(uchar?*)_bgra);

????//?Convert?the?color?format?from?the?camera‘s
????//?NV21?“YUV420sp“?format?to?an?Android?BGRA?color?image.
????cvtColor(myuv?mbgra?CV_YUV420sp2BGRA);

????//?OpenCV?can?now?access/modify?the?BGRA?image?if?we?want?...


????//?Release?the?native?lock?we?placed?on?the?Java?arrays.
????env->ReleaseIntArrayElements(bgra?_bgra?0);
????env->ReleaseByteArrayElements(yuv?_yuv?0);
}


DECLARE_TIMING(CartoonifyImage);


//?Modify?the?camera?image?using?the?Cartoonifier?filter.
JNIEXPORT?void?JNICALL?Java_com_Cartoonifier_CartoonifierView_CartoonifyImage(JNIEnv*?env?jobject
????????jint?width?jint?height?jbyteArray?yuv?jintArray?bgra
????????jboolean?sketchMode?jboolean?alienMode?jboolean?evilMode?jboolean?debugMode)
{
????START_TIMING(CartoonifyImage);

????//?Get?native?access?to?the?given?Java?arrays.
????jbyte*?_yuv??=?env->GetByteArrayElements(yuv?0);
????jint*??_bgra?=?env->GetIntArrayElements(bgra?0);

????//?Input?color?format?(from?camera):
????//?“myuv“?is?the?color?image?in?the?camera‘s?native?NV21?YUV?420?“semi-planar“?format?which?means
????//?the?first?part?of?the?array?is?the?grayscale?pixel?array?followed?by?a?quarter-sized?pixel
????//?array?that?is?the?U?&?V?color?channels?interleaved.?So?if?we?just?want?to?access?a?grayscale
????//?image?we?can?get?it?directly?from?the?1st?part?of?a?YUV420sp?semi-planar?image?without?any
????//?conversions.?But?if?we?want?a?color?image?(eg:?BGRA?color?format?that?i

評論

共有 條評論