使用Emgu CV的高斯模糊功能时,我遇到了一个非常奇怪的问题。当我使用1-3的内核大小时,模糊图像可以正常工作,但是当我使用更大的大小时,我的应用程序会退出并显示以下消息:
public class SecondActivity extends Activity {
int value;
SharedPreferences preferences;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
preferences = PreferenceManager.getDefaultSharedPreferences(SecondActivity.this);
value = preferences.getInt("value", 0);
System.out.println("SecondActivity.onCreate() of i ----- " + value);
for (int i = 1; i <= value; i++) {
Button myButton = new Button(this);
myButton.setText("Add Me");
LinearLayout ll = (LinearLayout) findViewById(R.id.layout);
LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
lp.gravity = Gravity.CENTER;
myButton.setLayoutParams(lp);
ll.addView(myButton, lp);
}
}
}
我在Visual Studio工作,它甚至没有给我标准的异常弹出窗口。它只是退出并把我扔回编辑。
这是我尝试过的代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:id="@+id/layout"
android:orientation="vertical"
android:layout_height="match_parent"
tools:context="com.example.sample.Second" >
</LinearLayout>
Exception thrown: 'Emgu.CV.Util.CvException' in Emgu.CV.World.dll
两个例子都给出了相同的结果。
答案 0 :(得分:0)
http://www.emgu.com/wiki/files/3.0.0/document/html/4d4fa4cc-0d74-ab37-10ee-2189d35beb81.htm
如果您查看文档,则可以查看大小是否必须为奇数。 &#34; 4&#34;是一个偶数。
例如: CvInvoke.GaussianBlur(input,outputGaussian,new System.Drawing.Size(15,15),3);
答案 1 :(得分:0)
简单的答案是你不能在这个方法中使用偶数,你可能只使用奇数和正数(1,3,5 ......等),这是由原始{{3}定义的}。
此方法所需的参数如下: