Android compare 2 images and tell to fruit category to is fruit (apple/banana) or not fruit -
android compare 2 images use bitmap code , tell fruit category fruit (apple/banana) or not fruit.
i have problem compare bitmap , bitmapfactory have runtime error , have solution problem.
- activity_main.xml
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".mainactivity" > <imageview android:id="@+id/imageview" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerhorizontal="true" /> <button android:id="@+id/buttonintent" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignparentleft="true" android:layout_alignparenttop="true" android:text="gallery" /> <button android:text="ok search" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignbottom="@+id/buttonintent" android:layout_alignparentright="true" android:layout_alignparentend="true" android:id="@+id/button" /> </relativelayout>
- activity_main2.xml
<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <textview android:text="have fruit apple" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centervertical="true" android:layout_centerhorizontal="true" android:id="@+id/textview" android:textsize="20sp" android:textcolor="@android:color/black" /> </relativelayout>
- mainactivity.java
import android.graphics.bitmap; import android.graphics.bitmapfactory; import android.net.uri; import android.os.bundle; import android.app.activity; import android.content.intent; import android.provider.mediastore; import android.view.view; import android.widget.button; import android.widget.imageview; import java.io.filenotfoundexception; import java.io.ioexception; public class mainactivity extends activity { public static final int request_gallery = 1; // code compare picture. bitmap bitmap; // picture select file in gallery. bitmap b = bitmapfactory.decoderesource(getresources(), r.drawable.a1); // picture compare. // code compare picture. imageview imageview1; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); imageview1 = (imageview)findviewbyid(r.id.imageview); button buttonintent = (button)findviewbyid(r.id.buttonintent); buttonintent.setonclicklistener(new view.onclicklistener() { public void onclick(view v) { intent intent = new intent(intent.action_get_content); intent.settype("image/*"); startactivityforresult(intent.createchooser(intent , "select picture"), request_gallery); } }); button buttonintent2 = (button)findviewbyid(r.id.button); buttonintent2.setonclicklistener(new view.onclicklistener() { public void onclick(view v) { if(bitmap == b) { // have error. intent newactivity = new intent(mainactivity.this, activityform2.class); startactivity(newactivity); } } }); } public void onactivityresult(int requestcode, int resultcode , intent data) { if (requestcode == request_gallery && resultcode == result_ok) { uri uri = data.getdata(); try { bitmap = mediastore.images.media.getbitmap(this.getcontentresolver(), uri); imageview1.setimagebitmap(bitmap); } catch (filenotfoundexception e) { e.printstacktrace(); } catch (ioexception e) { e.printstacktrace(); } } } }
- activityform2.java
import android.os.bundle; import android.support.v7.app.appcompatactivity; /** * created sumate on 10/30/2016 ad. */ public class activityform2 extends appcompatactivity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main2); } }
- image example
5.1 image bitmap bitmap;
5.2 image bitmap b = bitmapfactory.decoderesource(getresources(), r.drawable.a1);
- runtime error
11-13 21:08:42.244 26248-26248/com.spv.babaimile.fruitsearchwithpic e/androidruntime: fatal exception: main process: com.spv.babaimile.fruitsearchwithpic, pid: 26248 java.lang.runtimeexception: unable instantiate activity componentinfo{com.spv.babaimile.fruitsearchwithpic/com.spv.babaimile.fruitsearchwithpic.mainactivity}: java.lang.nullpointerexception: attempt invoke virtual method 'android.content.res.resources android.content.context.getresources()' on null object reference @ android.app.activitythread.performlaunchactivity(activitythread.java:2548) @ android.app.activitythread.handlelaunchactivity(activitythread.java:2707) @ android.app.activitythread.-wrap12(activitythread.java) @ android.app.activitythread$h.handlemessage(activitythread.java:1460) @ android.os.handler.dispatchmessage(handler.java:102) @ android.os.looper.loop(looper.java:154) @ android.app.activitythread.main(activitythread.java:6077) @ java.lang.reflect.method.invoke(native method) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:865) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:755) caused by: java.lang.nullpointerexception: attempt invoke virtual method 'android.content.res.resources android.content.context.getresources()' on null object reference @ android.content.contextwrapper.getresources(contextwrapper.java:86) @ android.view.contextthemewrapper.getresourcesinternal(contextthemewrapper.java:127) @ android.view.contextthemewrapper.getresources(contextthemewrapper.java:121) @ com.spv.babaimile.fruitsearchwithpic.mainactivity.<init>(mainactivity.java:22) @ java.lang.class.newinstance(native method) @ android.app.instrumentation.newactivity(instrumentation.java:1078) @ android.app.activitythread.performlaunchactivity(activitythread.java:2538) @ android.app.activitythread.handlelaunchactivity(activitythread.java:2707) @ android.app.activitythread.-wrap12(activitythread.java) @ android.app.activitythread$h.handlemessage(activitythread.java:1460) @ android.os.handler.dispatchmessage(handler.java:102) @ android.os.looper.loop(looper.java:154) @ android.app.activitythread.main(activitythread.java:6077) @ java.lang.reflect.method.invoke(native method) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:865) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:755)
i have answered compare fruit opencv color blob detection android complete.
Comments
Post a Comment