是否可以将com.vividsolutions.jts.geom.Geometry(或其子类)转换为实现的类java.awt.Shape?我可以使用哪种库或方法来实现该目标?
我是OpenCV的新手(我实际上正在使用Emgu CV C#wrapper)并且我正在尝试进行一些对象检测.
我正在尝试确定一个对象是否与预定义的一组对象匹配(我将不得不定义).背景光线充足,不会移动.我开始使用的物品是瓶子和罐子.
我目前的做法是:用先前拍摄的背景图像做absDiff来分离背景.然后扩张4x以使较亮区域(标签中)收缩.然后我做一个二进制阈值来获得一个大博客,然后在这个图像中找到轮廓.然后,我获取最大的轮廓并绘制它,这将成为我的形状,以保存到接受的集合或与接受的集合进行比较.
目前我正在使用cvMatchShapes,但双返回值似乎变化很大.我猜是因为它没有考虑到旋转.
这种方法是好的吗?它不适用于玻璃瓶,因为边缘很难找到......
我读过关于haar分类器的内容,但认为这可能对我的任务来说太过分了.
我正在玩角落,我对这种行为很感兴趣.XML布局:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list_header_title"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:padding="10dip"
android:gravity="center_vertical"
android:background="@layout/my_outline"
android:text="Example"
android:textSize="14sp"
android:textStyle="bold"
/>
Run Code Online (Sandbox Code Playgroud)
这是my_outline.xml :( 注意角标记)
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:topLeftRadius="10dip"
android:bottomRightRadius="10dip"/>
<padding
android:left="50dip"
android:top="5dip"
android:bottom="5dip" />
<solid
android:color="#0fff" />
<stroke
android:width="1dip"
android:color="#f0f0f0" />
</shape>
Run Code Online (Sandbox Code Playgroud)
图片:

将形状更改为:
<corners
android:topLeftRadius="10dip"
android:bottomLeftRadius="10dip"/>
Run Code Online (Sandbox Code Playgroud)
而且你可以清楚地看到底角是倒置的(发生在所有人身上,我只是为了说明"周三").这是我的手机图片(Nexus S 2.3.2,但也发生在模拟器上):

你知道吗?我看着谷歌("android形状倒角"),什么也没得到.在这里,SO也没有"相关问题".
需要在View使用形状中绘制"X" ,但X的边缘必须锚定在视图的左侧,顶部,右侧和底部.
像这样的东西:

为什么我不能使用继承Shapes类的类?
我需要Rectangle用一些方法扩展类,但是我想以我使用的方式使用这个类,我该Shape怎么办?
什么是你最好的选择或方法来创建一个形状,如附件链接完整CSS中所见,无论如何可能吗?
我使用CSS平行四边形进行了研究和测试,但尚未获得任何好的成功.
在这里看到形状 - >> http://tinypic.com/r/352ge3b/6

我正在尝试使用图层列表创建渐变笔触(即周边/边框)作为我视图的背景.但它不起作用.
这是我的代码
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<gradient
android:angle="270"
android:centerColor="#FFFFFFFF"
android:endColor="#FFCCCCCC"
android:startColor="#FFCCCCCC"
android:type="linear" />
</shape>
</item>
<item>
<shape android:shape="rectangle" >
<solid android:color="#F0F1F3" />
<margin
android:bottom="4dp"
android:left="4dp"
android:right="4dp"
android:top="4dp" />
</shape>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
第一项完全不可见.只有第二项填充屏幕.有关如何解决此问题的任何想法?
我试图从Trucco/Verri文本"3D计算机视觉的入门技术"中看到的着色算法重建经典形状,但我很难理解matlab中的fft函数.基本上,我需要使用可积性约束来获得图像的深度(Z).在这种情况下,我不确定何时使用fftshift.这是我到目前为止的代码.基于http://www.mathworks.com/matlabcentral/newsreader/view_thread/285244 我基本上将所有的fft2都包裹在fftshifts中,但我不认为这是正确的用法.有人可以向我解释一下使用情况以及我做错了什么吗?谢谢.基本上,我试图将我的p和q(基于像素强度的更新值)转换为傅里叶域,以便在方程C中使用它们.然后我想将方程C转换回时域因为那会给我Z的深度.我还想根据傅里叶域中的C更新P和Q.
wx = (2.* pi .* x) ./ m;
wy = (2.* pi .* y) ./ n;
wx = ifftshift(wx); wy=ifftshift(wy);
Cp = fftshift(fft2(fftshift(p)));
Cq = fftshift(fft2(fftshift(q)));
C = -1i.*(wx .* Cp + wy .* Cq)./(wx.^2 + wy.^2);
Z = abs((ifft2(ifftshift(C))));
p = ifftshift(ifft2(ifftshift(1i * wx .* C)));
q = ifftshift(ifft2(ifftshift(1i * wy .* C)));
Run Code Online (Sandbox Code Playgroud) 我在css"border-radius:100%;"中尝试了这个,但它没有给出100%的圆圈.
以下是css和html
HTML
<div class="web-cam">
<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
</video>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
.web-cam video {
width: 250px;
height: 250px;
border-radius: 100%;
position: absolute;
top: 0px;
z-index: 5;
}
Run Code Online (Sandbox Code Playgroud)