我需要完成演示项目,旨在识别X射线图像上的牙齿.我不熟悉这个主题,我不确定在这种情况下哪种方法更适合.(我在考虑纹理分割 - 但这只是一个猜测,我仍然不确定这是否是一个选项)
我需要做的是基本上获得牙齿的方向(角度)和放置在每个牙齿轮廓上的点集,以完成任务特定的计算.
请提供有关可能有用的方法和算法/库的建议.C#是可以执行的,但其他语言也可以.
提前致谢.
图像样本都与此类似(我特别感兴趣的是右边第二和第三颗牙齿):

我怎么能处理这个Mouse Right Button Double Click事件Shape?
我想在我的Android代码中的某处创建一个循环,以某种速率连续地改变两种颜色之间的可绘制矩形的颜色.我想用两个按钮开始并停止闪烁.我已经做了很多研究,但似乎无法弄清楚如何去做.我是android新手,没有run()方法的经验.但我猜我必须使用run()方法制作某种矩形类,它会将其设置为更改颜色的动画.
我正在开发一个用于提取 SVG 图像轮廓的库。在 Java 中使用 Batik 使将 SVG 文件转换为扩展形状(java.awt.geom.Shape实例)的过程变得非常有趣——对于相对复杂的形状,我们在毫秒级进行此操作。但是,由于我需要一个组合轮廓,我java.awt.geom.Area使用.add(shape). 出乎意料的是,即使对于相对简单的形状,这也非常慢。“令人难以置信”是指在 36 秒内将 8 个形状加在一起,每个形状 6-10 个点。
运行的代码-Xrunhprof提示,大多数的时间都花在java.awt.geom.AreaOp.pruneEdges(..)与java.lang.StrictMath.acos是最大的罪魁祸首。将替代实现 ( AreaX) 与结合FastMath仅产生微不足道的改进,而我对处理任意几何形状的 Java 库的搜索却是空洞的。
那么问题是,在没有这种疯狂的性能损失的情况下,在 Java 中创建形状联合的方法是什么?是否有一些库或方法可以帮助实现这个看似简单的操作?
我尝试使用XML layer-list drawable创建一个简单的插图.
我有两个形状,一个圆形和一个矩形
我想要一个不按比例的圆圈.
以下是布局:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ImageView
android:layout_margin="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/shape5"
android:layout_gravity="center"
android:scaleType="center"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
这是shape5.xml drawable
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:top="0dp" android:left="0dp">
<shape android:shape="rectangle" android:scaleType="center">
<stroke android:width="2dp" android:color="@android:color/holo_red_light" />
<size android:width="200dp" android:height="100dp"/>
</shape>
</item>
<item android:top="10dp" android:left="10dp">
<shape android:shape="oval" android:gravity="center" android:scaleType="center" >
<stroke android:width="2dp" android:color="@android:color/holo_blue_light" />
<corners android:radius="10dp" />
<size android:width="20dp" android:height="20dp"/>
</shape>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
生成的图形如下所示:

很明显,项目android:top可以完成工作,但没有什么能阻止形状缩放.大小宽度不起作用,android:scaleType ="center"也不起作用.
我快速查看了LayerDrawable.java实现.看起来像在幕后,从项目属性创建插入.所以我想通过计算那些我可以达到结果,我想要的.这是唯一的方法吗?
更新:
根据这个答案,我知道操纵项目的android:top,android:left等,我可以创建一个虚拟插图,可以根据我的需要扩展我的"形状".我查了一遍,这是对的.所以这是一个解决方法.然而,我对它的反直觉感到非常失望.我仍然希望有人能指出我一种简单的方法来禁用缩放.
更新:根据此Google Android文档页面,设置ImageView scaleType应该已禁止缩放.显然在我的情况下,它没有用.缺了点什么.
我有一个由直线段定义的形状.
我想简化用直线构造的形状,但只有一组有限的斜率.
我想尽量减少使用的段数,并尽量减少区域与前后形状的差异.
我想用用户定义的重量同时最小化这两件事,强调最小化另一个.
minimize { J = w1(number of segments/length) + w2(difference area/length) }
Run Code Online (Sandbox Code Playgroud)
当w1和w2均为重量和长度是新段的长度.我想要一个算法来做到这一点.有任何想法吗?
下面我展示一些我可能希望它如何工作的图片.文献中是否有任何可能有助于编写算法的内容.谢谢!

我QGraphicsPathItem在 Qt 中有一个(使用 Python 中的 PySide 绑定),其中有一个大矩形和一个小矩形。由于默认填充规则 ( Qt.OddEvenFill),内部矩形是透明的。这有效地绘制了一个带孔的形状。
现在我想听听像进入,离开鼠标事件,单击,...我的简单实现的方法hoverEnterEvent,..中QGraphicsItem不会产生鼠标事件移动过孔时,因为孔仍是该项目的一部分,即使它是没有填满。
我想要一个QGraphicsItem衍生物,它显示一个自定义形状,其轮廓由一个QPainterPath或一个或多个多边形定义,并且可以有孔,当鼠标进入孔时,这被视为形状的外部。
带孔的示例形状(当鼠标位于内部矩形中时,应将其视为形状的外部,并应触发鼠标离开事件):

然而,该解决方案也适用于带孔的任意形状。
PySide/Python 3.3 中的示例代码
from PySide import QtCore, QtGui
class MyPathItem(QtGui.QGraphicsPathItem):
def __init__(self):
super().__init__()
self.setAcceptHoverEvents(True)
def hoverEnterEvent(self, event):
print('inside')
def hoverLeaveEvent(self, event):
print('outside')
app = QtGui.QApplication([])
scene = QtGui.QGraphicsScene()
path = QtGui.QPainterPath()
path.addRect(0, 0, 100, 100)
path.addRect(25, 25, 50, 50)
item = MyPathItem()
item.setPath(path)
item.setBrush(QtGui.QBrush(QtCore.Qt.blue))
scene.addItem(item)
view = QtGui.QGraphicsView(scene)
view.resize(200, 200)
view.show()
app.exec_()
Run Code Online (Sandbox Code Playgroud) 首先,我应该说我想做什么,然后在下一部分(描述)中描述为实现我的目标而要做的事情。
我想从功能区“插入”选项卡中“图零件”部分的“ 普通容器”中创建“ 自定义列表主形状”。然后,我想创建另一个Master Shape,它可以用作Created Custom List Master Shape的成员形状。
换句话说,我想将“ 创建的主形状”添加到“ 自定义列表”主形状中,例如将“ 成员”和“分隔符”主形状附加到UML模具的“ 类”主形状中。
因此,在实现我的目标时遇到了一些问题,我将在下一部分中对其进行描述。
我在“ Visio模具(.vssx)”文件中创建了一些新的Master Shape,如下所示:

图1-使用旧的主形状新建的主形状
已创建属性主形状,以用作对象主形状中的成员形状,就像在UML模具的类主形状中使用的成员主形状一样。

图2-具有初始成员的类主形
从成员主形创建的属性主形已更改如下:
我向其中添加了一个形状数据(图3)。

图3-Property Master Shape的“ Shape Data”对话框
我向其中添加了一个数据图形项(图4)。

图4-属性主形的“数据图形”和“数据图形项”对话框
我更改了ShapeSheet窗口的 …
我正在尝试根据数组的大小运行循环。如何在张量流中做到这一点?例如
# input pipeline with all files available in the folder
a = tf.Variable([1,2,3,4,5],dtype = tf.int32)
loop = tf.size(a)
....
for i in range(loop):
print(sess.run(a))
Run Code Online (Sandbox Code Playgroud)
我想将数组a打印5次。但是它说loop是一个张量对象,不能作为整数。我尝试将循环变量作为
loop = tf.cast(tf.size(a),tf.int32),
loop = tf.shape_n(a),
loop = tf.shape(a)[0]
Run Code Online (Sandbox Code Playgroud)
它具有相同的错误。
我有一个非常简单的数据框,如下所示:
In [8]: df
Out[8]:
A B C
0 2 a a
1 3 s 3
2 4 c !
3 1 f 1
Run Code Online (Sandbox Code Playgroud)
我的目标是以这种方式提取第一行:
A B C
0 2 a a
Run Code Online (Sandbox Code Playgroud)
如您所见,数据框形状(1x3)被保留,第一行仍具有3列。
但是,当我键入以下命令时df.loc[0],输出结果是这样的:
df.loc[0]
Out[9]:
A 2
B a
C a
Name: 0, dtype: object
Run Code Online (Sandbox Code Playgroud)
如您所见,该行已变成具有3行的列!(3x1而非3x1)。这怎么可能?如何简单地提取行并保留目标中描述的形状?您能提供一种聪明而优雅的方法吗?
我尝试使用transpose命令,.T但是没有成功...我知道我可以创建另一个数据框,其中的列是由原始数据框提取的,但是这种方式非常繁琐且不太优雅,我会说(pd.DataFrame({'A':[2], 'B':'a', 'C':'a'}))。
如果需要,这是数据框:
import pandas as pd
df = pd.DataFrame({'A':[2,3,4,1], 'B':['a','s','c','f'], 'C':['a', 3, '!', 1]})
Run Code Online (Sandbox Code Playgroud) shape ×10
python ×3
android ×2
mouseevent ×2
algorithm ×1
animation ×1
c# ×1
colors ×1
dataframe ×1
double-click ×1
geometry ×1
itk ×1
java ×1
layer-list ×1
opencv ×1
pandas ×1
pyside ×1
qt ×1
row ×1
shapes ×1
shapesheet ×1
size ×1
stencils ×1
tensorflow ×1
union ×1
variables ×1
visio ×1
wpf ×1
xml ×1
xml-drawable ×1