寻求有关如何从多个文本文件中挖掘项目以构建字典的建议.
此文本文件:https://pastebin.com/Npcp3HCM
手动转换为此必需的数据结构:https://drive.google.com/file/d/0B2AJ7rliSQubV0J2Z0d0eXF3bW8/view
有数千个这样的文本文件,它们可能有不同的章节标题,如下例所示:
我开始阅读文件
from glob import glob
txtPth = '../tr-txt/*.txt'
txtFiles = glob(txtPth)
with open(txtFiles[0],'r') as tf:
allLines = [line.rstrip() for line in tf]
sectionHeading = ['Corporate Participants',
'Conference Call Participiants',
'Presentation',
'Questions and Answers']
for lineNum, line in enumerate(allLines):
if line in sectionHeading:
print(lineNum,allLines[lineNum])
Run Code Online (Sandbox Code Playgroud)
我的想法是查找段标题存在的行号,并尝试在这些行号之间提取内容,然后删除像破折号一样的分隔符.这不起作用,我试图创建这种字典,以便我以后可以在采石项目上运行各种自然语言处理算法.
{file-name1:{
{date-time:[string]},
{corporate-name:[string]},
{corporate-participants:[name1,name2,name3]},
{call-participants:[name4,name5]},
{section-headings:{
{heading1:[
{name1:[speechOrderNum, text-content]},
{name2:[speechOrderNum, text-content]},
{name3:[speechOrderNum, text-content]}],
{heading2:[
{name1:[speechOrderNum, text-content]},
{name2:[speechOrderNum, text-content]},
{name3:[speechOrderNum, text-content]},
{name2:[speechOrderNum, text-content]},
{name1:[speechOrderNum, text-content]}, …Run Code Online (Sandbox Code Playgroud) 我在mac os x 10.7.5上使用通过macports安装的opencv 2.4.4和python 2.7.5.
我想训练一个级联来寻找男性正面.但是我收到了terminate called throwing an exceptionAbort trap: 6错误.我要求SO社区帮我弄清楚可能出现的问题.
负面(背景)图片来自谷歌:googleImages_noFaces(293张图片)
正面图像来自Karolinska数据库:trainingSet(70图像)
我创建了一个文本文件,指示背景图像的相对位置:bgDesc.txt
我还创建了一个文本文件,指示相对位置,图像中正实例的数量(始终为1)和对象的边界区域(整个图像):maleDesc.txt
所有这些文件都可以从这里下载.
文件的组织采用以下形式:
/trainingSet
image1.jpg
image2.jpg
.
.
.
/googleImages_noFaces
image1.jpg
image2.jpg
.
.
.
/cascadeFiles
maleDesc.txt
bgDesc.txt
Run Code Online (Sandbox Code Playgroud)
当我使用opencv_createsamples时,使用maleDesc.vec以下行成功创建了一个文件:
opencv_createsamples -vec maleDesc.vec -info maleDesc.txt -bg bgDesc.txt -num 70 -w 24 -h 24
Run Code Online (Sandbox Code Playgroud)
如果我使用-show参数我可以看到创建了24x24像素图像.
然后我试试
opencv_traincascade -data cascadeFiles -vec maleDesc.vec -bg bgDesc.txt -numPos 70 - numNeg 293 -numStages 1 -precalcValBufSize 500 -precalcIdxBufSize 500 -featureType LBP -w 24 …Run Code Online (Sandbox Code Playgroud) python opencv classification image-processing image-recognition
任务:将人脸图像分类为女性或男性。可以使用带标签的训练图像,从网络摄像头获取测试图像。
使用: Python 2.7,OpenCV 2.4.4
我正在使用 ORB 从灰度图像中提取特征,我希望将其用于训练 K-最近邻分类器。每个训练图像都是不同的人,因此每个图像的关键点和描述符的数量明显不同。我的问题是我无法理解 KNN 和 ORB 的 OpenCV 文档。我看过其他关于 ORB、KNN 和 FLANN 的 SO 问题,但它们并没有多大帮助。
ORB 给出的描述符的性质究竟是什么?它与通过BRIEF、SURF、SIFT等获得的描述符有何不同?
对于 KNN 中的每个训练样本,特征描述符似乎应该具有相同的大小。如何确保每个图像的描述符大小相同?更一般地说,特征应该以什么格式呈现给 KNN 以使用给定的数据和标签进行训练?数据应该是整数还是浮点数?可以是字符吗?
可以在此处找到训练数据。
我也在使用haarcascade_frontalface_alt.xml来自 opencv 的示例
现在 KNN 模型只提供了 10 张图像进行训练,以查看我的程序是否通过而没有错误,但没有。
这是我的代码:
import cv2
from numpy import float32 as np.float32
def chooseCascade():
# TODO: Option for diferent cascades
# HAAR Classifier for frontal face
_cascade = cv2.CascadeClassifier('haarcascade_frontalface_alt.xml')
return _cascade
def cropToObj(cascade,imageFile):
# Load as 1-channel grayscale image
image = …Run Code Online (Sandbox Code Playgroud) python opencv classification image-processing image-recognition
我使用mac os x 1.7.5与python 2.7.5_1和opencv 2.4.4_0通过macports安装.我似乎拥有所有最新的依赖端口.
在我的代码中,cv2.Videowriter()成功创建并打开它,生成一个6kb .avi文件,但videoFile.write(img0)不会在该文件中写入任何内容.我真的无法弄清楚为什么视频流没有写入文件.任何见解?
我的代码如下:
import cv2
import cv
cv2.namedWindow("Original")
cap0 = cv2.VideoCapture(0)
codec = cv.CV_FOURCC('D','I','V','X')
print codec
videoFile = cv2.VideoWriter();
videoFile.open('video.avi', codec, 25, (640, 480),1)
key = -1
while(key < 0):
success0, img0 = cap0.read()
cv2.imshow("Original", img0)
videoFile.write(img0)
key = cv2.waitKey(1)
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
我尝试过这些编解码器,但没有一个工作:I420,AVC1,YUV1,PIM1,MJPG,MP42,MP4V,DIV3,DIVX,XVID,IUYV,FFV1,FLV1,U263,H264,ZLIB
使用ZLIB编解码器我收到错误:
[zlib @ 0x7fb0d130a000] Specified pixel format yuv420p is invalid or not supported
Run Code Online (Sandbox Code Playgroud)
使用H264编解码器我收到一个错误:
[libx264 @ 0x7fe423869600] broken ffmpeg default settings detected
[libx264 @ …Run Code Online (Sandbox Code Playgroud) 我想在字符串中找到元素的组合.baseString具有可变长度,例如'tbyhn'或'tg'等.
我试过了:
import itertools
baseString = 'tgby'
prd = [it for it in itertools.product(base,repeat=len(baseString)-1)]
Run Code Online (Sandbox Code Playgroud)
prd 是一个如下所示的列表:
[('t', 't', 't'), ('t', 't', 'g'), ('t', 't', 'b'), ..., ('y', 'y', 'y')]
Run Code Online (Sandbox Code Playgroud)
我希望列表看起来像这样:
['ttt','ttg','ttb','tty','tgt',...,'yyy']
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
另外,如果我有一个像'prd'这样的元组列表,我如何只链接每个元组中的元素.
编辑
我不想要这些类型的结果:
x = ['t','t','t','t','t','g','t','t','b','t','t','y',...,'y','y','y']
x = ['tttttgttbttytgt...yyy']
Run Code Online (Sandbox Code Playgroud)