我有一个动态数量的等比例和大小的矩形对象,我想在屏幕上以最佳方式显示它们。我可以调整对象的大小,但需要保持比例。
我知道屏幕尺寸是多少。
如何计算将屏幕划分为的最佳行数和列数以及将对象缩放到什么大小?
谢谢,
杰米。
标题说明了一切。我需要知道 WPF 中与drawing.rectange.union(). 我知道我可以导入System.Drawing,但我不想这样做。我是 WPF 的初学者。
编辑:
我想要实现的是有两个矩形,并制作一个可以适合它们的矩形,以达到缩放目的。
作为我正在进行的项目的一部分,我必须存储和恢复图像中的魔杖区域。为了获取用于存储的数据,我使用了GetRegionData方法。正如规范所指定的,该方法:
返回一个 RegionData,它表示描述该 Region 的信息。
我将保留byte[]在属性中的RegionData.Data内容存储在 Base64 字符串中,因此我可以RegionData通过某种非常规的方法检索后者:
// This "instantiates" a RegionData object by simply initiating an object and setting the object type pointer to the specified type.
// Constructors don't run, but in this very specific case - they don't have to. The RegionData's only member is a "data" byte array, which we set right after.
var regionData =
(RegionData)FormatterServices.GetUninitializedObject(typeof(RegionData));
regionData.Data = bytes;
Run Code Online (Sandbox Code Playgroud)
然后,我创建一个Region并将上述RegionData对象传递到构造函数中,并调用GetRegionScans以获取组成该区域的矩形对象: …
我遇到的问题是标记非常接近图例的边缘。我为空条目创建了一个矩形,并希望可以调整宽度,以便在左侧添加空间。
我试图仅在图例的左侧添加空间。使用 borderpad 会为图例的所有边添加空间,这不是我想要做的事情。
这里的一些图像提供了我试图解决的问题的一些很好的例子:http://matplotlib.org/1.3.1/examples/pylab_examples/filledmarker_demo.html
extra = Rectangle((0, 0), 1, 1, fc="w", fill=False, edgecolor='w', linewidth=0)
lns = (line1, line2, line3, extra)
labs = ["label1", "label2", "label3", "label4"]
legend = ax1.legend(lns, labs, loc=4, numpoints=1, handlelength=0, handletextpad=1, fontsize=16, shadow=True)
frame = legend.get_frame()
frame.set_facecolor('0.90')
Run Code Online (Sandbox Code Playgroud) 我有矩形随机放置的二进制图像,我想获得这些矩形的位置和大小。如果可能,我想要精确重新创建图像所需的最少矩形数量。
左边是我的原始图像,右边是我申请后得到的图像scipys.find_objects()
(就像这个问题的建议)。

import scipy
# image = scipy.ndimage.zoom(image, 9, order=0)
labels, n = scipy.ndimage.measurements.label(image, np.ones((3, 3)))
bboxes = scipy.ndimage.measurements.find_objects(labels)
img_new = np.zeros_like(image)
for bb in bboxes:
img_new[bb[0], bb[1]] = 1
Run Code Online (Sandbox Code Playgroud)
如果矩形相距很远,这可以正常工作,但是如果它们重叠并构建更复杂的结构,则该算法只会给我最大的边界框(对图像进行上采样没有区别)。我有一种感觉,应该已经存在执行此操作的scipyoropencv方法。我很高兴知道是否有人对如何解决这个问题有想法,或者甚至更了解现有的解决方案。
结果我想要图像中的矩形列表(即左下角:右上角)。条件是当我重绘那些填充的矩形时,我希望获得与以前完全相同的图像。如果可能,矩形的数量应该最少。
这是生成示例图像的代码(以及更复杂的示例original vs scipy)
import numpy as np
def random_rectangle_image(grid_size, n_obstacles, rectangle_limits):
n_dim = 2
rect_pos = np.random.randint(low=0, high=grid_size-rectangle_limits[0]+1,
size=(n_obstacles, n_dim))
rect_size = np.random.randint(low=rectangle_limits[0],
high=rectangle_limits[1]+1,
size=(n_obstacles, n_dim))
# Crop rectangle size if it goes over the boundaries …Run Code Online (Sandbox Code Playgroud) 我是 Julia 的新手,我正在尝试了解基本的数据可视化。我正在创建一个二维噪声数组:
xRange, yRange = 1:1:300, 1:1:300
maxVal = 0.3
noiseArr = rand(length(xRange),length(yRange))*maxVal
Run Code Online (Sandbox Code Playgroud)
结果数组如下所示(左)。我想识别特定像素——由具有长度、宽度和旋转度的矩形定义——并将这些值设置为已知数字。最终,我想要像下图(右)所示的图像。
我没有包偏好,但我一直在查看图像、OpenCV 等。我希望有一种直接的方法来做到这一点。
我正在尝试创建矩形,矩形的数量取决于从数据库传递的数据。例如,如果number = 5,则程序将生成5个矩形。另外,这些矩形必须能够遵循我的矩形属性设置,例如高度,宽度,颜色...最后将它们放在一行中。
有没有办法做到这一点?
我正在使用WPF和C#。
谢谢。
http://img853.imageshack.us/img853/2475/picture1eu.jpg
我有一个点/坐标的ArrayList表示一个直线多边形.我现在想要使用ArrayList中存储的Points将这个形状分解为矩形.
我已经开始了一个算法,但我无法完成它,我觉得必须有一个更简单的方法:
ArrayList称为"allCoordinates".
ArrayList"xMatch"和"yMatch"是allCoordinates的子集.
算法:
ArrayList yMatch = All matching Coordinates in respect to 'y'
Run Code Online (Sandbox Code Playgroud)
所以在上图的情况下:(
设置1 = [x1,y1] - [x8,y8],
Set2 = [x7,y7] - [x2,y2],
Set3 = [x4,y4] [x5,x5 ],
Set4 = [x3,y3] [x6,x6])
ArrayList xMatch = All matching Coordinates in respect to 'x'
Run Code Online (Sandbox Code Playgroud)
所以在上图的情况下:(
Set 1 = [x1,y1] - [x2,y2],
Set2 = [x3,y3] - [x4,y4],
Set3 = [x5,y5] [x6,x6 ],
Set4 = [x7,y7] [x8,x8])
所以现在我有两个arrayLists,所有垂直边缘和所有水平边缘.现在我需要一些方法来检查它们是否全部连接在一起?就像我说的那样,必须有一个更简单的方法......?
编辑:
我可以澄清一下,必须使用在现有坐标上开始和结束的相交线来形成矩形.例如,可以从(x6,y6)水平绘制一条线,并在边缘(x1,y1) - (x8,y8)上完成.此行将从现有坐标开始,但不会在现有坐标上完成.因此该行无效.
我想使用Dimensionclass(java.awt.Dimension),但它只支持整数.我想要像这样制作Rectangle和Square类:
构造函数:
public Rectangle(Dimension dim(double A, double B)) {
// constructor code
}
Run Code Online (Sandbox Code Playgroud)
编写自己的Dimension类实现更好吗?
我warpAffine在OpenCV中使用旋转矩形.现在我想获得这个旋转矩形的四个顶点(四个点的x和y位置),而不是将其旋转回来.经过几个小时的搜索,我得不到任何结果.有人可以帮我吗?谢谢.