这个 SO 答案说STL Map with a Vector for the Key该向量可以用作键。所以当我们使用向量作为键时。这实际上是如何工作的,因为键需要是唯一的,所以当我们插入另一个具有相同元素的向量时,会map逐个元素检查重复元素还是向量的名称确实指定了一些东西?就像数组的名字代表基地址一样。因此数组可以用作键,因为在这种情况下基地址可以用作键,但是在向量的情况下键是什么。它是如何在内部工作的。
因为当我打印向量的名称时,我确实收到错误
vector<int> v;
cout<<v; //error
Run Code Online (Sandbox Code Playgroud) 我有多个图像图表,所有这些图表都包含作为字母数字字符的标签,而不仅仅是文本标签本身。我希望我的 YOLO 模型能够识别其中存在的所有数字和字母数字字符。
我如何训练我的 YOLO 模型来做同样的事情。数据集可以在这里找到。https://drive.google.com/open?id=1iEkGcreFaBIJqUdAADDXJbUrSj99bvoi
例如:查看边界框。我希望 YOLO 检测文本所在的位置。但是目前没有必要识别其中的文本。
图片可以在这里下载
这是我使用 opencv 尝试过的,但它不适用于数据集中的所有图像。
import cv2
import numpy as np
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r"C:\Users\HPO2KOR\AppData\Local\Tesseract-OCR\tesseract.exe"
image = cv2.imread(r'C:\Users\HPO2KOR\Desktop\Work\venv\Patent\PARTICULATE DETECTOR\PD4.png')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]
clean = thresh.copy()
horizontal_kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (15,1))
detect_horizontal = cv2.morphologyEx(thresh, cv2.MORPH_OPEN, horizontal_kernel, iterations=2)
cnts = cv2.findContours(detect_horizontal, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cnts = cnts[0] if len(cnts) == 2 else cnts[1]
for c in cnts:
cv2.drawContours(clean, [c], -1, 0, 3) …Run Code Online (Sandbox Code Playgroud) 我有一个 .dat 文件,我不知道它是如何创建的,使用了什么分隔符以及有关它的任何详细信息。我只有相应的 mdf 和 csv 文件。就这样。python中有什么方法可以读取这个.dat文件吗?
我尝试过的几种方法:
file = "736_2_PerformanceCurve_(23_0C)_(13_5V).dat"
datContent = [i.strip().split() for i in open(file, encoding='latin1').readlines()]
datContent
Run Code Online (Sandbox Code Playgroud)
这给出了输出
[['|CF,2,1,1;|CK,1,3,1,1;'],
['|NO,1,7,1,0,,0,;'],
['|NL,1,10,1252,0x407;'],
['|CT,1,41,0,6,Bench#,24,Korrosionstest', '15A046-01,0,;'],
['|CT,1,30,0,11,StartOfTest,8,06/30/17,0,;'],
['|CT,1,58,0,10,ResultPath,36,c:\\korrosionstest\\daten\\#170161-OR02,0,;'],
['|CT,1,59,0,11,GraphicPath,36,c:\\korrosionstest\\daten\\#170161-OR02,0,;'],
['|CT,1,31,0,15,GraphicBaseName,5,736_2,0,;'],
['|CT,1,26,0,10,PartNumber,5,736_2,0,;'],
['|CT,1,31,0,9,VA-Nr.', 'GS,11,170161-OR02,0,;'],
['|CT,1,62,0,9,VA-Nr.',
'CC,42,TO_ENV_2017_G2_C1_Platform_CC-122164-03-08,0,;'],
['|CT,1,24,0,6,Tester,8,Behrendt,0,;'],
['|CT,1,32,0,15,Test', 'Department,6,GS/ETR,0,;'],
['|CG,1,5,1,1,1;'],
['|CD,1,16,1E-2,1,1,s,0,0,0;'],
['|NT,1,27,30,', '6,2017,14,25,15.8050001;'],
['|CC,1,3,1,1;'],
['|CP,1,16,1,2,4,16,0,0,1,0;'],
['|Cb,1,33,1,0,1,1,0,11718,0,11718,1,5E-3,0,;'],
['|CR,1,30,1,6.103888176768602E-3,0,1,1,A;'],
['|CN,1,28,0,0,0,16,ai_iB1_Strom_ECU,0,;'],
['|CG,1,5,1,1,1;'],
['|CD,1,16,1E-2,1,1,s,0,0,0;'],
['|NT,1,27,30,', '6,2017,14,25,15.8050001;'],
['|CC,1,3,1,1;'],
['|CP,1,16,2,2,4,16,0,0,1,0;'],
['|Cb,1,37,1,0,2,1,11718,11718,0,11718,1,5E-3,0,;'],
['|CR,1,30,1,3.662332906061161E-3,0,1,1,V;'],
['|CN,1,31,0,0,0,19,ai_iB1_Spannung_UBB,0,;'],
Run Code Online (Sandbox Code Playgroud)
对应的csv文件
[![在此处输入图像描述][1]][1]
编辑 :
from asammdf import MDF
dat_file = r"C:\Users\HPO2KOR\Desktop\Work\data1.dat"
mdf_file = r"C:\Users\HPO2KOR\Desktop\Work\data1.mdf"
df = mdf.to_dataframe()
mdf = MDF(mdf_file)
df.head()
Run Code Online (Sandbox Code Playgroud)
这给了我 [![在此处输入图像描述][2]][2]
如何从 …
可以为字符指针分配任意字符串,但不能为整数指针分配整数。由于它们都是指针并包含地址。为什么在动态分配之前将 C 中的字符串分配给指针有效但整数无效。
#include<stdio.h>
int main()
{
char *s = "sample_string"; // valid
printf("%s\n", s);
int *p = (int)5; // invalid
printf("%d\n", *p);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这给出了输出:
sample_string
Segmentation fault (core dumped)
Run Code Online (Sandbox Code Playgroud)
背后的原因是什么?虽然它们在 C++ 中都是无效的。