python – 测试一个Django站点显示正确的图形 – 图像相似性?

python – 测试一个Django站点显示正确的图形 – 图像相似性?,第1张

概述我正在创建一个简单的Django站点,用matplotlib绘制指定的数据集,并显示结果图.我保存了正确图表的静态副本,我想将其与页面上显示的图像进行比较. home.html的 <img id="id_graph_image" src="/graphs/selected_graph.png"> 图/ urls.py urlpatterns = patterns('', # oth 我正在创建一个简单的Django站点,用matplotlib绘制指定的数据集,并显示结果图.我保存了正确图表的静态副本,我想将其与页面上显示的图像进行比较.

home.HTML的

<img ID="ID_graph_image" src="/graphs/selected_graph.png">

图/ urls.py

urlpatterns = patterns('',# other patterns...        url(r'^graphs/selected_graph.png$','graphs.vIEws.show_selected_graph'),)

图/ vIEws.py

def show_selected_graph(request):    # matplotlib code...    canvas = figureCanvasAgg(figure)    response = httpResponse(content_type='image/png')    canvas.print_png(response)    return response

图/ tests.py

def test_selected_graph_shows_the_right_graphs(self):    # request and response...    graph_on_page = Image.open(StringIO(response.content)).    expected_graph = Image.open('file://../graphs/static/scenario_1_statistic_1.png')    # Todo: compare graphs

我想添加Selenium测试或单元测试以确认图形视图返回给定数据集的正确图像.我已经尝试将两个图像与PIL和直方图的RMS差异进行比较,但任何两个matplotlib图形图像都具有相似的直方图.

“百分比差异”是否简单?我应该以一种非常不同的方式测试吗?

我感谢任何和所有的帮助,谢谢!

解决方法 如果您已经开始进行图像比较,可以尝试使用opencv(参见例如 http://opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_imgproc/py_template_matching/py_template_matching.html).然而,这对我来说感觉很糟糕(虽然如果你使用硒,你的测试可能会慢一些,但你可能已经比我在单元测试中拍摄的速度慢了).另一种方法可能是将您传递给drawGraph部分的数据转换为数组并将其与预期值进行比较(因为看起来您的图形包含大约100 x,y对,这是比100 *更小的数据) 100像素),但我不太清楚你的意图是测试matploblib代码生成正确的数据,还是它正确地将数据转换为图形. 总结

以上是内存溢出为你收集整理的python – 测试一个Django站点显示正确的图形 – 图像相似性?全部内容,希望文章能够帮你解决python – 测试一个Django站点显示正确的图形 – 图像相似性?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1197239.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存