2012-11-01 61 views
5

如何在Python中加載yml文件並使用它?使用python和opencv中的yml文件

我用:

import cv 
data = cv.Load("Z:/data/xyz_00000_300.yml") 

但是當我打印的數據,它只是提供了圖像的細節一樣的行和列等

我想讀的數量在像素還有什麼的形象。

我試過使用下面的代碼,但它只給出像素值而不是像素中包含的信息?

def AccessPixels(img): 
    for y in range(0, img.height): 
     for x in range(0, img.width): 
      cv.Get2D(img, y, x) # Slow get pixel value. 
      cv.Set2D(img, y, x, (0, 0, 0, 0)) # Slow set pixel value. 
+0

我不認爲它和OpenCV中生成的yml文件一樣簡單嗎? FileStorage類被設計爲保存到yml和xml文件中,並且不會總是起作用,但是如果你沒有看到它,它會工作一下:http://docs.opencv.org/modules/core/doc /xml_yaml_persistence.html – Chris

+1

像素中應該包含「像素值」以外的「信息」? – misha

+0

它們含有強度 –

回答

1

要加載並與YML文件交互時,您需要首先:

import yaml 

現在你可以做這樣的事情在YAML文件作爲字典閱讀:

with codecs.open('your.yml', 'r', encoding='utf8') as f: 
    yml_dict = yaml.safe_load(f) 

現在yaml文件的內容可以作爲yml_dict中的字典使用。