資源簡介
《深入理解OpenCV:實用計算機視覺項目解析》系統地介紹如何使用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
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-12-29?04:28??code-master\
?????目錄???????????0??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\
?????目錄???????????0??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\
?????文件?????????444??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\.classpath
?????文件????????5500??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\.cproject
?????文件????????2972??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\.project
?????目錄???????????0??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\.settings\
?????文件?????????617??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\.settings\org.eclipse.jdt.core.prefs
?????文件????????1349??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\AndroidManifest.xm
?????目錄???????????0??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\jni\
?????文件????????1538??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\jni\Android.mk
?????文件??????????84??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\jni\Application.mk
?????文件????????5308??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\jni\jni_part.cpp
?????文件?????????361??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\project.properties
?????目錄???????????0??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\res\
?????目錄???????????0??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\res\drawable\
?????文件????????5760??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\res\drawable\icon.png
?????目錄???????????0??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\res\values\
?????文件?????????118??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\res\values\strings.xm
?????目錄???????????0??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\src\
?????目錄???????????0??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\src\com\
?????目錄???????????0??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\src\com\Cartoonifier\
?????文件????????4003??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\src\com\Cartoonifier\CartoonifierApp.java
?????文件???????10271??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\src\com\Cartoonifier\CartoonifierView.java
?????文件????????9315??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Android\src\com\Cartoonifier\CartoonifierViewba
?????目錄???????????0??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Desktop\
?????文件?????????290??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Desktop\CMakeLists.txt
?????文件???????21322??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Desktop\ImageUtils.h
?????文件???????87458??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Desktop\ImageUtils_0.7.cpp
?????文件???????13555??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Desktop\cartoon.cpp
?????文件????????1634??2012-12-29?04:28??code-master\Chapter1_AndroidCartoonifier\Cartoonifier_Desktop\cartoon.h
............此處省略365個文件信息
評論
共有 條評論