久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

基于Android studio3.6的JNI教程之ncnn之語義分割ENet

瀏覽:116日期:2022-09-25 10:31:39

代碼鏈接:

https://github.com/watersink/enet-as-linux

本代碼可以在模擬器下進行跑。

環境:

Android studio 3.6

Sdk:android10 api 29

Ndk:r15c

Ncnn:20200226

Opencv:Opencv3.4.1 android sdk

Linux下的代碼測試:

mkdir buildcd buildcmake ..make./enet

運行效果,

基于Android studio3.6的JNI教程之ncnn之語義分割ENet

Android開始:

(1)新建工程,

New->New Project->選擇Native c++ ->工程名enet->c++11

(2)app/src/cpp下面增加opencv和ncnn的頭文件,include

基于Android studio3.6的JNI教程之ncnn之語義分割ENet

(3)app/src/main下面增加ncnn 和opencv的靜態庫文件和動態庫文件,

基于Android studio3.6的JNI教程之ncnn之語義分割ENet

(4)app/src/main下面增加模型文件assets

基于Android studio3.6的JNI教程之ncnn之語義分割ENet

(5)修改布局文件,app/src/main/res/layout/ activity_main.xml

<?xml version='1.0' encoding='utf-8'?><RelativeLayout xmlns:android='http://schemas.android.com/apk/res/android' xmlns:app='http://schemas.android.com/apk/res-auto' xmlns:tools='http://schemas.android.com/tools' android:layout_width='match_parent' android:layout_height='match_parent' tools:context='.MainActivity'> <LinearLayout android: android:layout_alignParentBottom='true' android:layout_width='match_parent' android:layout_height='wrap_content' android:orientation='horizontal'> <Button android: android:layout_weight='1' android:layout_width='0dp' android:layout_height='wrap_content' android:text='選圖'/> <Button android: android:layout_weight='1' android:layout_width='0dp' android:layout_height='wrap_content' android:text='分割'/> </LinearLayout> <ImageView android: android:layout_width='match_parent' android:layout_height='match_parent' android:layout_above='@id/btn_ll' android:layout_alignParentTop='true' android:layout_marginTop='1dp' android:layout_marginBottom='-1dp' /></RelativeLayout>

(6) app/src/main/java/com/example/enet增加ENET類,

public class ENET { public native boolean Init(byte[] param, byte[] bin); public native float[] Process(Bitmap bitmap); // Used to load the ’native-lib’ library on application startup. static { System.loadLibrary('ENET'); }}

(7) app/src/main/cpp/enet-jni.cpp實現其jni方法,

extern 'C'JNIEXPORT jboolean JNICALLJava_com_example_enet_ENET_Init(JNIEnv *env, jobject thiz, jbyteArray param, jbyteArray bin) { // TODO: implement Init() ncnn::Mat ncnn_param; ncnn::Mat ncnn_bin; // init param { int len = env->GetArrayLength(param); ncnn_param.create(len, (size_t) 1u); env->GetByteArrayRegion(param, 0, len, (jbyte *) ncnn_param); } // init bin { int len = env->GetArrayLength(bin); ncnn_bin.create(len, (size_t) 1u); env->GetByteArrayRegion(bin, 0, len, (jbyte *) ncnn_bin); } ncnn_net = new ENET(ncnn_param,ncnn_bin); return JNI_TRUE;}extern 'C'JNIEXPORT jfloatArray JNICALLJava_com_example_enet_ENET_Process(JNIEnv *env, jobject thiz, jobject bitmap) { // TODO: implement Process() // ncnn from bitmap ncnn::Mat in; { AndroidBitmapInfo info; AndroidBitmap_getInfo(env, bitmap, &info); int width = info.width; int height = info.height; if (info.format != ANDROID_BITMAP_FORMAT_RGBA_8888) return NULL; void* indata; AndroidBitmap_lockPixels(env, bitmap, &indata); // 把像素轉換成data,并指定通道順序 // 因為圖像預處理每個網絡層輸入的數據格式不一樣一般為300*300 128*128等等所以這類需要一個resize的操作可以在cpp中寫,也可以是java讀入圖片時有個resize操作 //in = ncnn::Mat::from_pixels_resize((const unsigned char*)indata, ncnn::Mat::PIXEL_RGBA2RGB, width, height,300,300); in = ncnn::Mat::from_pixels(static_cast<const unsigned char *>(indata), ncnn::Mat::PIXEL_RGBA2BGR, width, height); // 下面一行為debug代碼 __android_log_print(ANDROID_LOG_DEBUG, 'ENetJniIn', 'enet_process_has_input1, in.w: %d; in.h: %d in.c:%d ', in.w, in.h,in.c); //AndroidBitmap_unlockPixels(env, bitmap); } { ncnn::Mat out = ncnn_net->process(in); __android_log_print(ANDROID_LOG_DEBUG, 'ENetJniIn', 'enet_process_has_output, in.w: %d; in.h: %d in.c:%d ', out.w, out.h,out.c); int output_wsize = out.w; int output_hsize = out.h; //輸出整理 float *output[output_wsize * output_hsize]; // float類型 for(int i = 0; i< out.h; i++) { for (int j = 0; j < out.w; j++) { output[i*output_wsize + j] = &out.row( i)[j]; } } //建立float數組 長度為 output_wsize * output_hsize,如果只是ouput_size相當于只有一行的out的數據那就是一個object檢測數據 jfloatArray jOutputData = env->NewFloatArray(output_wsize * output_hsize); if (jOutputData == nullptr) return nullptr; env->SetFloatArrayRegion(jOutputData, 0, output_wsize * output_hsize,reinterpret_cast<const jfloat *>(*output)); return jOutputData; }}

(8) app/src/main/java/com/example/enet中MainActivity做具體的調用實現,

public class MainActivity extends AppCompatActivity { private ENET enet = new ENET(); //java接口實例化 下面直接利用java函數調用NDK c++函數 private Bitmap yourSelectedImage = null; private static final int SELECT_IMAGE = 1; private static final String TAG = MainActivity.class.getName(); private ImageView show_image; private boolean load_result = false; private int[] ddims = {1, 3, 512, 288}; //這里的維度的值要和train model的input 一一對應 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); try { initENet();//初始化模型 Log.e('MainActivity', 'initENet ok'); } catch (IOException e) { Log.e('MainActivity', 'initENet error'); } init_view();//檢測+view畫圖 } // initialize view private void init_view() { show_image = (ImageView) findViewById(R.id.show_image); Button use_photo = (Button) findViewById(R.id.use_photo); use_photo.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { Intent i = new Intent(Intent.ACTION_PICK); i.setType('image/*'); startActivityForResult(i, SELECT_IMAGE); } }); Button detect_photo = (Button) findViewById(R.id.detect_photo); detect_photo.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { if (yourSelectedImage == null) return; predict_image(yourSelectedImage); } }); } private void initENet() throws IOException { byte[] param = null; byte[] bin = null; { //用io流讀取二進制文件,最后存入到byte[]數組中 InputStream assetsInputStream = getAssets().open('enet_512288.param.bin');// param: 網絡結構文件 int available = assetsInputStream.available(); param = new byte[available]; int byteCode = assetsInputStream.read(param); assetsInputStream.close(); } { //用io流讀取二進制文件,最后存入到byte上,轉換為int型 InputStream assetsInputStream = getAssets().open('enet_512288.bin');//bin: model文件 int available = assetsInputStream.available(); bin = new byte[available]; int byteCode = assetsInputStream.read(bin); assetsInputStream.close(); } load_result = enet.Init(param, bin);// 再將文件傳入java的NDK接口(c++ 代碼中的init接口 ) Log.d('load model', 'ENet_load_model_result:' + load_result); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK && null != data) { Uri selectedImage = data.getData(); try { if (requestCode == SELECT_IMAGE) { Bitmap bitmap = decodeUri(selectedImage); Bitmap rgba = bitmap.copy(Bitmap.Config.ARGB_8888, true); // resize to 512x288 yourSelectedImage = Bitmap.createScaledBitmap(rgba, ddims[2], ddims[3], false); show_image.setImageBitmap(yourSelectedImage); } } catch (FileNotFoundException e) { Log.e('MainActivity', 'FileNotFoundException'); return; } } } private Bitmap decodeUri(Uri selectedImage) throws FileNotFoundException { // Decode image size BitmapFactory.Options o = new BitmapFactory.Options(); o.inJustDecodeBounds = true; BitmapFactory.decodeStream(getContentResolver().openInputStream(selectedImage), null, o); // The new size we want to scale to final int REQUIRED_SIZE = 600; // Find the correct scale value. It should be the power of 2. int width_tmp = o.outWidth, height_tmp = o.outHeight; int scale = 1; while (true) { if (width_tmp / 2 < REQUIRED_SIZE || height_tmp / 2 < REQUIRED_SIZE) { break; } width_tmp /= 2; height_tmp /= 2; scale *= 2; } // Decode with inSampleSize BitmapFactory.Options o2 = new BitmapFactory.Options(); o2.inSampleSize = scale; return BitmapFactory.decodeStream(getContentResolver().openInputStream(selectedImage), null, o2); } // predict image private void predict_image(Bitmap bmp) { // picture to float array Bitmap rgba = bmp.copy(Bitmap.Config.ARGB_8888, true); // resize Bitmap input_bmp = Bitmap.createScaledBitmap(rgba, ddims[2], ddims[3], false); try { // Data format conversion takes too long // Log.d('inputData', Arrays.toString(inputData)); long start = System.currentTimeMillis(); // get predict result float[] result = enet.Process(input_bmp); // time end long end = System.currentTimeMillis(); Log.d(TAG, 'origin predict result:' + Arrays.toString(result)); long time = end - start; Log.d('result length', 'length of result: ' + String.valueOf(result.length)); // 畫布配置 Canvas canvas = new Canvas(input_bmp); //圖像上畫矩形 Paint paint = new Paint(); //continue to draw rect Log.d(TAG, 'result :' + result.length); Log.d(TAG, 'result :' + Arrays.toString(result)); for(int num = 0; num < result.length; num++){ // 畫框 int row =num%ddims[2]; int col = num/ddims[2]; if (result[num]==1){ paint.setColor(Color.RED); paint.setStyle(Paint.Style.STROKE);//不填充 canvas.drawCircle(row, col, 1, paint); } if (result[num]==2){ paint.setColor(Color.BLUE); paint.setStyle(Paint.Style.STROKE);//不填充 canvas.drawCircle(row, col, 1, paint); } if (result[num]==3){ paint.setColor(Color.GREEN); paint.setStyle(Paint.Style.STROKE);//不填充 canvas.drawCircle(row, col, 1, paint); } } show_image.setImageBitmap(input_bmp); } catch (Exception e) { e.printStackTrace(); } }}

(9) app/src/main/cpp下面修改CMakeLists

cmake_minimum_required(VERSION 3.4.1)include_directories(include)file(GLOB ENET_SRC *.h *.cpp)set(ENET_COMPILE_CODE ${ENET_SRC})add_library(libopencv_java3 SHARED IMPORTED)set_target_properties(libopencv_java3 PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../jniLibs/${ANDROID_ABI}/libopencv_java3.so) add_library(libncnn STATIC IMPORTED )set_target_properties(libncnn PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../jniLibs/${ANDROID_ABI}/libncnn.a)add_library( # Sets the name of the library. ENET ## 為生成.so的文字最好直接和.c名字一樣,需要更改 # Sets the library as a shared library. SHARED # Provides a relative path to your source file(s). ${ENET_COMPILE_CODE})##cpp文件的namefind_library( # Sets the name of the path variable. log-lib # Specifies the name of the NDK library that # you want CMake to locate. log )target_link_libraries( # Specifies the target library. ENET libncnn libopencv_java3 jnigraphics android # Links the target library to the log library # included in the NDK. ${log-lib} )

(10) app/src/下面修改build.gradle,增加下面的設置,

externalNativeBuild { cmake { arguments '-DANDROID_TOOLCHAIN=clang' cFlags '-fopenmp -O2 -fvisibility=hidden -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -ffast-math ' cppFlags '-fopenmp -O2 -fvisibility=hidden -fvisibility-inlines-hidden -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -ffast-math ' arguments '-DANDROID_STL=c++_shared', '-DANDROID_CPP_FEATURES=rtti exceptions' cppFlags '' cppFlags '-std=c++11' cppFlags '-frtti' cppFlags '-fexceptions' } } ndk { abiFilters ’armeabi-v7a’// , ’arm64-v8a’ //,’x86’, ’x86_64’, ’armeabi’ stl 'gnustl_static' }

整體目錄結構:

基于Android studio3.6的JNI教程之ncnn之語義分割ENet

最終效果:

基于Android studio3.6的JNI教程之ncnn之語義分割ENet

總結

到此這篇關于基于Android studio3.6的JNI教程之ncnn之語義分割ENet的文章就介紹到這了,更多相關android studio 語義分割enet內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Android
相關文章:
主站蜘蛛池模板: 欧美一区免费 | 成人在线播放 | 日韩一二区 | 四虎永久免费在线 | 成人小视频在线观看 | 亚洲高清视频在线 | 97精品超碰一区二区三区 | 成人免费视频网站在线观看 | 亚洲欧美激情精品一区二区 | 久久91精品| 日本黄色片免费看 | 91亚洲福利 | 亚洲精品a区 | 亚洲精品乱码久久久久久金桔影视 | 成人免费一区二区三区视频网站 | 成人毛片视频网站 | 国产嫩草91 | 九九成人| 噜噜噜天天躁狠狠躁夜夜精品 | 精品久久久蜜桃 | 亚洲高清电影 | 亚洲成人免费 | 综合中文字幕 | 欧美伊人影院 | 一区二区视频 | 精品久久久久久久久久久久久久 | 精品国产一区二区三区久久久蜜臀 | 精品欧美一区二区三区久久久 | 九九精品在线 | 成人免费视频观看视频 | 美女在线国产 | 激情在线观看视频 | 亚洲不卡 | 久久久久久久久中文字幕 | www.99日本精品片com | 国产精品久久精品 | 亚洲一区二区三区中文字幕 | 精品美女在线 | 国产午夜精品久久久久久久 | 人操人人人 | 99久久久久 | 日韩城人免费 | 中文字幕视频在线 | 成人午夜精品一区二区三区 | 不卡一区二区三区四区 | 剑来在线观看 | 一区二区三区四区在线 | 国产日韩一区 | 欧美人成在线观看 | 欧美在线视频一区二区 | 亚洲第一天堂无码专区 | 99九九久久| 国产精品视频一区二区三区不卡 | 日韩欧美国产一区二区三区 | 日韩视频在线观看中文字幕 | 国产三级在线免费观看 | 91视频8mav | 国产看片网站 | 羞羞视频免费观看 | 国产传媒一区 | 亚洲国产精品久久久 | 97超碰人人 | 91精品国产综合久久久久久软件 | 日韩欧美久久 | 国产精品久久国产精品 | 成人精品一区二区三区中文字幕 | 亚洲精品乱码久久久久久麻豆不卡 | 成人av免费观看 | 久草网站| 中文字幕亚洲在线观看 | 免费午夜视频 | 久久免费视频国产 | 一级特黄aaa大片在线观看 | 日韩日韩日韩日韩日韩日韩日韩 | 一区国产精品 | 99热成人在线 | 中文字幕av在线 | 亚洲国产精品综合久久久 | 久久一区 | 欧美日韩一区二区三区四区 | 国产一级黄色大片 | 日本免费www | 日av一区 | 曰批免费视频播放免费 | 日本免费视频 | 亚洲二区在线视频 | 亚洲午夜视频 | 亚洲综合精品在线 | 国产精品久久久久aaaa | 免费视频一区二区三区在线观看 | 亚洲天堂一区 | 麻豆精品一区二区 | 欧美精品一区在线观看 | 国产成人精品免高潮在线观看 | 日韩一区二区三区在线观看 | www国产亚洲精品久久网站 | 久草在线 | 欧美日韩不卡在线 | 欧美精品区| 久久综合一区二区三区 | 亚洲高清视频在线观看 | 色一情 | 亚洲精品日韩激情在线电影 | 国产一区二区三区四区五区 | 国产精品久久久久久久久久99 | 久久国产精品视频 | 91视频免费观看 | 国产一区国产二区在线观看 | 欧美日本国产 | 日韩久久精品 | 欧美日韩不卡在线 | 精品视频久久久 | 断背山在线 | 亚洲欧洲精品视频 | 韩日在线观看视频 | 久草在线资源福利站 | 91久久久久久 | 日韩欧美a级v片免费播放 | 超碰在线看 | 亚洲精品91 | 四虎av成人 | 日韩一区免费在线观看 | 欧美日韩精品在线 | 精品成人| 妞干网福利视频 | 日韩欧美一区二区三区久久婷婷 | 国产91富婆养生按摩会所 | 国产日韩欧美一区二区 | 久久一区视频 | av成人在线观看 | av在线一区二区三区 | 国产精品99久久久久久宅男 | 国产一区二区在线看 | 色视频网站免费看 | 欧美精品一区久久 | 成人av电影网址 | 免费看黄色一级视频 | 精品久久久久久国产 | 天天久久综合网 | 黄色在线免费观看 | 色女人的天堂 | 亚洲码欧美码一区二区三区 | 中国一级大黄大黄大色毛片 | 日韩精品视频三区 | 欧美精品一区二区三区在线播放 | 日日操操| 日韩国产欧美视频 | 天天av天天操 | 秋霞a级毛片在线看 | 欧美精品三区 | 日韩一| 狠狠躁天天躁夜夜添人人 | 欧美亚洲另类在线 | 国产精品成人国产乱一区 | 视频一区在线播放 | 成人久久久精品乱码一区二区三区 | 欧美亚洲视频在线观看 | 中文在线播放 | 中文字幕成人免费视频 | 亚洲一区电影 | 国产精品欧美日韩在线观看 | 久久久久久久久国产 | 午夜精品久久久久久久久久久久 | 欧美日本韩国一区二区 | 亚洲一区综合 | 四虎最新影视 | 欧美精品免费在线观看 | 国产视频一二区 | 国产欧美久久一区二区三区 | 欧洲一级视频 | 亚洲精品国产电影 | 国产精品久久久久一区二区三区 | 亚洲免费网 | 秋霞a级毛片在线看 | 亚洲精品久久久久一区二区三区 | 国产日韩高清在线 | 伊人网站 | 欧美亚洲国产日韩 | 久久国产精品一区 | 亚洲精品国品乱码久久久久 | 亚洲一区二区三区四区在线观看 | 免费成人小视频 | 日本末发育嫩小xxxx | 欧美日韩一区二区在线观看 | 午夜久久久 | 2020天天操 | www.日韩大片 | 欧美日韩精品一区二区三区 | 成人欧美一区二区三区视频xxx | 天天天堂 | 久久精品亚洲精品 | 亚洲欧美日韩在线一区 | 久久美女视频 | 国产精品久久久久久久 | 一本一道久久a久久精品综合 | 欧美一区 | 91精品中文字幕一区二区三区 | 中文字幕网在线 | 欧美激情一区 | 蜜臀久久99精品久久久无需会员 | 2019天天干夜夜操 | 国产aaaaav久久久一区二区 | 奇米亚洲午夜久久精品 | 天天天堂 | 99久精品 | 成人免费视频网址 | 国产在视频一区二区三区吞精 | av男人的天堂网 | 在线只有精品 | 久久亚洲免费 | 色综合一区二区三区 | 国外成人在线视频 | 福利网站在线观看 | 日日射天天干 | av网站在线免费观看 | 欧美激情一区 | 国产高清精品一区二区三区 | 91xxx在线观看| 久久av一区二区三区亚洲 | 日韩毛片 | 国产日韩欧美亚洲 | h视频免费观看 | 久久中文视频 | 亚洲黄色免费观看 | 中文字幕国产视频 | 天天操天天操 | 国产黄网| 亚洲巨乳自拍在线视频 | 91在线观看视频 | 国产日韩欧美 | 欧美老妇交乱视频 | 久久国产一区二区 | 国产精品欧美一区二区三区 | 日韩一区二区三区在线 | 电影91| 国产精品久久一区 | 在线免费观看成年人视频 | 欧美精品亚洲精品 | 天天艹逼 | 国产成人中文字幕 | 精品1区| 日韩一区电影 | 久久久久久久国产精品 | 国产精品精品 | 国产精品久久久久久久久软件 | 久久综合一区二区 | 亚洲免费在线观看 | 国产91成人在在线播放 | 国产在线精品一区二区三区 | 欧美日韩免费一区二区三区 | 日韩精品一区二区在线观看 | 午夜小视频在线观看 | 久久小草| 国产亚洲久久 | 在线播放91| 精品无码三级在线观看视频 | 精品国产91乱码一区二区三区 | 欧美.com | 国产精品资源在线 | 日韩免费片 | 成人免费xxxxx在线观看 | 国产精品免费看 | 狠狠操夜夜操 | 毛片免费看 | 可以免费在线观看av的网站 | 欧美在线播放一区二区三区 | 国产高清视频 | 美日韩一区二区三区 | 国产精品久久久久久久久久免费看 | 97久久精品午夜一区二区 | 久久的爱 | 成人影音| 中文字幕不卡 | 日本黄色短片 | 日韩精品一区二区三区中文字幕 | 欧美一级特 | 激情久久av一区av二区av三区 | 中文字幕精品三区 | 国产乱码精品一区二区三区中文 | 日韩三及片 | 精久视频 | 久久综合久久久 | 精品国产乱码久久久久久1区2区 | 999国产一区二区三区四区 | 久久国产一区二区三区 | 久久欧美精品一区 | 高清av一区| 国产日韩欧美在线 | 国产成人精品久久二区二区91 | 国产一区在线免费观看 | 激情福利视频 | 日本高清视频一区二区三区 | 成人在线视频一区二区 | 黄的视频网站 | 一本一道久久a久久精品逆3p | 日韩免费网站 | 国产精品久久精品 | 精品一区二区三区国产 | 亚洲成人综合在线 | 亚洲综合精品久久 | 精品久久久成人 | 精品成人佐山爱一区二区 | 亚洲久草视频 | 欧美日韩一区精品 | av亚洲在线 | 欧美黑人一级爽快片淫片高清 | 婷婷91| 亚洲国产aⅴ成人精品无吗 国产精品永久在线观看 | ririsao久久精品一区 | 欧美激情精品久久久久 | 亚洲精品系列 | 一级电影在线观看 | 国产精选一区二区三区不卡催乳 | 欧美亚洲国产一区 | 久久不射电影网 | 91精品国产99久久久 | 精品二三区 | 午夜精品在线 | 国产精品久久久久久久久久99 | 久久六月 | www.久久99 | 亚洲天堂男人 | 香蕉视频91 | 天天干,夜夜操 | 成人欧美一区二区三区在线播放 | 免费xxxxx在线观看网站软件 | 91精品久久久久久 | 国产精品久久久久久妇女6080 | 99re热精品视频国产免费 | 99久久久无码国产精品 | 毛片综合 | 日韩91| 91成人在线 | www.中文字幕 | 亚洲香蕉精品 | 国产精品亚洲一区二区三区在线 | 综合伊人 | 国产成人精品午夜视频免费 | 欧美成人激情 | 99久久婷婷国产综合精品 | 久久久久国产 | 久久国产精品一区 | 在线观看成人 | 青青草久 | 91高清视频在线观看 | 激情视频在线观看免费 | 日韩视频一二 | 在线观看视频一区二区三区 | 99日韩| 成人精品一区二区 | 欧美天堂在线观看 | 天天玩天天操天天射 | 亚洲97 | 性视频一区二区 | 亚洲欧美一区二区三区四区 | 综合二区 | 免费国产一区二区 | 日日操av | 亚洲成人在线视频播放 | 日韩精品一区在线视频 | 亚洲精品在线看 | 免费一看一级毛片 | www国产xxx | 日韩欧美中文字幕在线视频 | 97视频在线| 国产97在线 | 免费 | 久久久久久九九九 | 亚洲成人在线视频网站 | 国产不卡视频在线观看 | 久久天堂 | 日本三级做a全过程在线观看 | 91在线视频免费观看 | 亚洲www啪成人一区二区 | 国内外成人在线视频 | 午夜精品 | 综合久久网 | 人人av在线| 色综合天天综合网国产成人网 | 成人欧美一区二区三区黑人孕妇 | 在线国产一区二区 | 久草网站| 久久久久久毛片免费播放 | 少妇一级淫免费放 | 成人精品久久 | 亚洲免费av片 | 亚洲精品电影在线观看 | 亚洲成人影院在线观看 | 久久久久亚洲一区二区三区 | 中文字幕亚洲一区 | 午夜日韩 | 亚洲精品乱码久久久久久不卡 | 国产精品久久久久一区二区三区 | 国产日韩欧美精品一区二区 | 人人玩人人添人人澡97 | 色综合久久久久 | 免费视频一区二区 | 在线欧美视频 | 日本日韩中文字幕 | 中文字幕精品一区 | 西西做爰免费视频 | 国产在线精品一区二区三区 | 波多野结衣 一区二区 | 一区二区在线视频 | 夜夜骑天天操 | 久久精品系列 | 精品久久久久久久久久久久久久 | 日韩在线成人 | 美女一级黄 | 日韩中文字幕在线免费 | 国产91黄色 | 日韩国产一区二区 | 在线国产一区 | 日本三级不卡 | 亚洲激情 欧美 | 欧美成人午夜视频 | 国产精品久久久 | 久草免费福利 | 亚洲一区欧美一区 | 一区二区三区四区在线 | 国产精品污www在线观看 | 自拍视频免费 | 中文字幕 视频一区 | 久久不射网 | 亚洲精品一区二区三区蜜桃久 | 亚州中文字幕蜜桃视频 | 欧美综合网 | 欧美一级视频在线观看 | 久久久久久国产免费视网址 | 久久99视频这里只有精品 | 中文字幕在线免费看 | 国产精品久久久久久亚洲调教 | www.99| 欧美国产高清 | 99pao成人国产永久免费视频 | 日韩视频在线免费观看 | 91精品国产高清一区二区三区 | 国产精品1区2区 | 久久久久久综合 | 久久久久久久久综合 | 97精品国产 | 欧美78videosex性欧美 | 久久久久久久99精品免费观看 | 日韩视频一区二区三区 | 成人a在线视频免费观看 | 国产乱肥老妇国产一区二 | 日韩国产精品一区二区三区 | 精品国产一区二区三区久久久 | 在线视频一区二区三区 | 中文字幕一区在线观看视频 | 国产电影一区二区在线观看 | 精品一区在线 | 国产中文字幕在线观看 | 狠狠色丁香婷婷综合 | 男女视频在线观看 | 免费av播放 | 黄版视频在线观看 | 99精品国产高清一区二区麻豆 | 国产精品一二区 | 久久国产一区二区三区 | 国产精品s色 | 在线色网站 | 亚洲aⅴ| 国内精品一区二区三区 | 99精品网站 | 婷婷免费在线观看 | 国产精品美女久久久 | 国产一级毛片在线视频 | 日韩在线你懂的 | 亚洲欧美日韩另类精品一区二区三区 | 在线观看中文字幕 | 婷婷精品| 成人免费视频视频 | 99国内精品久久久久久久 | 综合网亚洲 | 黄色在线观看网址 | 亚洲a网 | 国产自在现线2019 | 国产精品精品视频一区二区三区 | 国产精品亚洲精品久久 | av在线播放免费 | 欧美日韩精品一区二区三区四区 | 三级免费网站 | 一区二区日本 | 欧美日韩在线一区二区三区 | 日韩综合 | 中文在线一区二区 | 亚洲成人高清在线 | 狠狠综合久久 | 午夜在线视频免费观看 | 欧美第8页 | 日韩久久久久久久久久久 | 91久久久久久久久久久久久 | 天天干夜夜爽 | 欧美成年黄网站色视频 | 午夜tv免费观看 | 精品www| 男女视频免费在线观看 | 成人一区二区在线观看 | 草比网站 | 免费看黄视频网站 | 国产色 | 日日精品| 国产福利91精品一区二区三区 | 成人一级片 | 日本国产一区二区 | 欧美一级性| 成人精品视频99在线观看免费 | 激情欧美日韩一区二区 | 国产精品99久久久久久久vr | av大片网| www.亚洲区| 中文字幕大全 | 亚洲天堂一区二区 | 亚洲国产成人精品女人久久久 | 免费观看一级特黄欧美大片 | 国产一区二区在线观看视频 | 久久青青 | 成人久久18 | 精品久久久久久久久久久下田 | 国产91麻豆视频 | 久久成人国产精品 | 成人免费crm一区二区 | 一级毛片中国 | 免费一区 | 日韩av在线中文字幕 | 精品一区二区久久久久久久网站 | 日日干天天操 | 精品欧美一区二区三区久久久小说 | 可以在线看的黄色网址 | 国产精品久久久久毛片软件 | 国产91视频一区二区 | 国产一区二区精品久久 | 国色天香成人网 | 午夜欧美 | 亚洲一区视频 | 日韩精品一区二区三区在线观看 | 国产一区二区三区在线 | 欧美日韩国产综合视频 | 久久午夜影院 | www.久久久.com| 日韩精品视频三区 | 欧美精品一区二区三区一线天视频 | 欧美高清成人 | 国产午夜精品一区二区 | 成人在线网址 | 国产日韩久久 | 亚洲区在线 | 国产欧美日韩综合精品一区二区 | 成人免费在线视频 | 毛片免费观看视频 | 亚洲免费视频在线观看 | 九九热这里只有 | 国产香蕉97碰碰久久人人九色 | 久久久天堂| 天天拍天天草 | 午夜久久久久 | 国产成人精品免费视频 | 国产午夜精品一区二区三区 | 国产福利在线视频 | 中文字幕在线免费 | 国产精品久久久久久久久软件 | 亚洲精品一区二区三区蜜桃久 | 精品九九 | 国产欧美一区二区精品性色 | 欧美精品亚洲精品 | 欧美日韩国产一区二区三区不卡 | www,四虎| 午夜合集 | 欧美日韩亚洲一区 | 成人在线播放 | 一区二区不卡 | 国产在线一区二区三区 | 精品欧美一区二区在线观看视频 | 中文久久 | 天堂在线视频 | 久久精品欧美一区二区三区不卡 | 国产精品久久久久久久午夜片 | 视频一区 中文字幕 | 国产精品久久久久久久久免费桃花 | 亚洲精品一 | 在线观看一区 | 亚洲精品一区二区三区蜜桃久 | 另类天堂av| 成人天堂资源www在线 | 毛片在线视频 | 久久综合亚洲 | 成人综合在线观看 | 日本久久网 | 成人黄色一区 | 人人做人人爽 | 97在线观看 | 日本一本视频 | 久久777| 欧洲亚洲精品久久久久 | 久在线视频 | 羞羞视频在线网站观看 | 天堂精品一区 | 成年人黄色一级毛片 | 精品国产99| 一区二区在线视频 | 久色视频在线观看 | 91精品国产91久久久久久 | 伦理午夜电影免费观看 | 成人一区二区三区在线 | av在线成人 | 国产在线观看免费av | 在线国产一区二区 | 涩涩片影院| 综合久久综合久久 | 日韩av免费在线观看 | 91资源总站| 久草久| 99久久精品免费看国产四区 | 日本不卡一区二区 | 精品免费国产一区二区三区 |