- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个二维数组,我使用 malloc
为其分配内存。
float **landmarksList; // x,y coords
/* Allocate memory for the training ASM landmarks list */
landmarksList = (float **) malloc(sizeof(float *) * TotalTrainCnt);
for (int i = 0; i < TotalTrainCnt; i++)
{
landmarksList[i] = (float *)malloc(sizeof(float) * VECTOR_SIZE);
}
/* Initialize to 0 */
for (int i = 0; i < TotalTrainCnt; i++)
{
for (int j = 0; j < VECTOR_SIZE; j++)
{
landmarksList[i][j] = 0;
}
}
在我的例子中,TotalTrainCnt
是 15,VECTOR_SIZE
是 154。我将 landmarksList
转换为 Mat
对象如下所示。
Mat trainingDataMat(TotalTrainCnt, VECTOR_SIZE, CV_32FC1, landmarksList);
转换后,我看到 Mat
中添加了一些垃圾数据。
------- landmarksList[0] -------
195 223 194 257 199 291 207 323 236 368 280 396 312 401 345 393 381 362 401 319 408 286 412 255 410 223 358 117 305 106 253 116 260 194 234 189 212 202 234 202 257 206 284 208 333 210 356 195 380 190 401 202 380 202 358 207 362 211 254 210 275 225 264 217 254 214 245 217 235 223 245 228 255 230 265 229 256 221 362 222 342 225 352 218 362 215 371 218 380 224 371 229 362 231 352 229 324 251 309 251 294 252 294 279 311 270 327 280 340 269 333 285 311 290 286 285 278 268 268 320 286 311 302 307 311 308 320 306 335 310 350 319 329 318 311 318 292 318 292 321 311 324 329 321 339 328 326 333 311 335 295 333 281 329
-------- Mat --------
[8.1469179e-34, 8.1474909e-34, 8.148064e-34, 8.148637e-34, 8.1492101e-34, 8.1497831e-34, 8.1503562e-34, 8.1509293e-34, 8.1515023e-34, 8.1520754e-34, 8.1526484e-34, 8.1532215e-34, 8.1537945e-34, 8.1543676e-34, 8.1549406e-34, 8.7581154e-43, 195, 223, 194, 257, 199, 291, 207, 323, 236, 368, 280, 396, 312, 401, 345, 393, 381, 362, 401, 319, 408, 286, 412, 255, 410, 223, 358, 117, 305, 106, 253, 116, 260, 194, 234, 189, 212, 202, 234, 202, 257, 206, 284, 208, 333, 210, 356, 195, 380, 190, 401, 202, 380, 202, 358, 207, 362, 211, 254, 210, 275, 225, 264, 217, 254, 214, 245, 217, 235, 223, 245, 228, 255, 230, 265, 229, 256, 221, 362, 222, 342, 225, 352, 218, 362, 215, 371, 218, 380, 224, 371, 229, 362, 231, 352, 229, 324, 251, 309, 251, 294, 252, 294, 279, 311, 270, 327, 280, 340, 269, 333, 285, 311, 290, 286, 285, 278, 268, 268, 320, 286, 311, 302, 307, 311, 308, 320, 306, 335, 310, 350, 319, 329, 318, 311, 318, 292, 318;
292, 321, 311, 324, 329, 321, 339, 328, 326, 333, 311, 335, 295, 333, 281, 329, 0, 8.7581154e-43, 168, 228, 170, 264, 175, 303, 189, 353, 220, 397, 261, 427, 298, 434, 336, 426, 374, 395, 400, 349, 412, 306, 417, 270, 420, 231, 344, 115, 286, 101, 230, 110, 242, 187, 213, 187, 191, 207, 215, 200, 242, 200, 270, 202, 322, 205, 350, 191, 379, 193, 401, 215, 376, 206, 350, 205, 351, 212, 236, 208, 260, 228, 248, 219, 236, 216, 226, 220, 215, 227, 226, 233, 237, 235, 248, 232, 235, 224, 350, 228, 329, 231, 341, 224, 352, 220, 363, 224, 373, 232, 363, 237, 352, 239, 341, 237, 315, 262, 297, 261, 280, 261, 278, 296, 298, 285, 316, 297, 336, 292, 324, 303, 298, 310, 270, 302, 259, 291, 244, 346, 265, 335, 286, 332, 298, 333, 310, 332, 330, 336, 350, 348, 322, 343, 298, 343;
Mat
开头包含一些垃圾数据。因此,第一行的某些值会进入第二行,并且所有行都会发生这种情况。
当我尝试以下操作时,
Mat trainingDataMat(TotalTrainCnt, VECTOR_SIZE, CV_32FC1, &landmarksList[0][0]);
第一行有正确的数据,但第二行以垃圾值开头。
------- landmarksList[0] -------
195 223 194 257 199 291 207 323 236 368 280 396 312 401 345 393 381 362 401 319 408 286 412 255 410 223 358 117 305 106 253 116 260 194 234 189 212 202 234 202 257 206 284 208 333 210 356 195 380 190 401 202 380 202 358 207 362 211 254 210 275 225 264 217 254 214 245 217 235 223 245 228 255 230 265 229 256 221 362 222 342 225 352 218 362 215 371 218 380 224 371 229 362 231 352 229 324 251 309 251 294 252 294 279 311 270 327 280 340 269 333 285 311 290 286 285 278 268 268 320 286 311 302 307 311 308 320 306 335 310 350 319 329 318 311 318 292 318 292 321 311 324 329 321 339 328 326 333 311 335 295 333 281 329
------- landmarksList[1] -------
168 228 170 264 175 303 189 353 220 397 261 427 298 434 336 426 374 395 400 349 412 306 417 270 420 231 344 115 286 101 230 110 242 187 213 187 191 207 215 200 242 200 270 202 322 205 350 191 379 193 401 215 376 206 350 205 351 212 236 208 260 228 248 219 236 216 226 220 215 227 226 233 237 235 248 232 235 224 350 228 329 231 341 224 352 220 363 224 373 232 363 237 352 239 341 237 315 262 297 261 280 261 278 296 298 285 316 297 336 292 324 303 298 310 270 302 259 291 244 346 265 335 286 332 298 333 310 332 330 336 350 348 322 343 298 343 274 342 274 362 299 368 323 364 340 370 322 382 299 385 276 381 256 368
-------- Mat --------
[195, 223, 194, 257, 199, 291, 207, 323, 236, 368, 280, 396, 312, 401, 345, 393, 381, 362, 401, 319, 408, 286, 412, 255, 410, 223, 358, 117, 305, 106, 253, 116, 260, 194, 234, 189, 212, 202, 234, 202, 257, 206, 284, 208, 333, 210, 356, 195, 380, 190, 401, 202, 380, 202, 358, 207, 362, 211, 254, 210, 275, 225, 264, 217, 254, 214, 245, 217, 235, 223, 245, 228, 255, 230, 265, 229, 256, 221, 362, 222, 342, 225, 352, 218, 362, 215, 371, 218, 380, 224, 371, 229, 362, 231, 352, 229, 324, 251, 309, 251, 294, 252, 294, 279, 311, 270, 327, 280, 340, 269, 333, 285, 311, 290, 286, 285, 278, 268, 268, 320, 286, 311, 302, 307, 311, 308, 320, 306, 335, 310, 350, 319, 329, 318, 311, 318, 292, 318, 292, 321, 311, 324, 329, 321, 339, 328, 326, 333, 311, 335, 295, 333, 281, 329;
0, 8.7581154e-43, 168, 228, 170, 264, 175, 303, 189, 353, 220, 397, 261, 427, 298, 434, 336, 426, 374, 395, 400, 349, 412, 306, 417, 270, 420, 231, 344, 115, 286, 101, 230, 110, 242, 187, 213, 187, 191, 207, 215, 200, 242, 200, 270, 202, 322, 205, 350, 191, 379, 193, 401, 215, 376, 206, 350, 205, 351, 212, 236, 208, 260, 228, 248, 219, 236, 216, 226, 220, 215, 227, 226, 233, 237, 235, 248, 232, 235, 224, 350, 228, 329, 231, 341, 224, 352, 220, 363, 224, 373, 232, 363, 237, 352, 239, 341, 237, 315, 262, 297, 261, 280, 261, 278, 296, 298, 285, 316, 297, 336, 292, 324, 303, 298, 310, 270, 302, 259, 291, 244, 346, 265, 335, 286, 332, 298, 333, 310, 332, 330, 336, 350, 348, 322, 343, 298, 343, 274, 342, 274, 362, 299, 368, 323, 364, 340, 370, 322, 382, 299, 385, 276, 381;
256, 368, 0, 8.7581154e-43, 264, 236, 266, 276, 271, 314, 283, 356, 313, 398, 362, 418, 402, 420, 439, 412, 485, 386, 510, 339, 517, 301, 519, 264, 519, 221, 440, 111, 383, 103, 327, 118, 339, 204, 315, 203, 295, 215, 317, 214, 339, 215, 364, 214, 432, 208, 458, 196, 481, 194, 499, 204, 479, 205, 459, 207, 453, 213, 337, 220, 359, 233, 348, 226, 337, 223, 328, 227, 319, 233, 329, 238, 338, 240, 349, 237, 337, 231, 450, 224, 433, 228, 443, 220, 453, 216, 462, 219, 472, 225, 462, 230, 453, 233, 443, 232, 418, 266, 400, 266, 382, 267, 383, 299, 401, 287, 419, 298, 436, 292, 424, 306, 401, 311, 376, 307, 364, 296, 358, 349, 375, 339, 391, 335, 401, 335, 411, 334, 425, 338, 440, 347, 418, 344, 400, 344, 382, 345, 382, 347, 400, 348, 417, 345, 428, 355, 415, 357, 400, 359;
我是 OpenCV 的新手,正在使用 SVM 做一个项目。由于这种损坏,我的 SVM 无法正确预测测试数据。请帮我解决这个问题。
最佳答案
Mat
构造函数期望一个连续的内存块,这样它就可以通过指向内存的指针前进到特定的行和列,您分配内存的方式不是单个 block ,它已停止使用 TotalTrainCnt
内存块。
要解决此问题,请使用它来分配内存:
// define a pointer to array of VECTOR_SIZE floats
float (*landmarksList)[VECTOR_SIZE];
// allocate TotalTrainCnt of such arrays
landmarksList = malloc(sizeof(*landmarksList) * TotalTrainCnt);
在这个landmarksList
之后是一个TotalTrainCnt
行和VECTOR_SIZE
列的内存块,你可以像以前一样访问每个元素,像 landmarksList[i][j]
是第 i 行的第 j 个数据。现在你可以做
Mat trainingDataMat(TotalTrainCnt, VECTOR_SIZE, CV_32FC1, landmarksList);
创建一个 Mat
对象。这种方式也更好,因为完成后需要调用一次 free
来释放整个内存,它不需要单独释放每一行。
关于c++ - OpenCV:二维数组到 MAT 转换后 MAT 中的垃圾值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37062597/
我已经彻底搜索过,但没有找到直接的答案。 将 opencv 矩阵 (cv::Mat) 作为参数传递给函数,我们传递的是智能指针。我们对函数内部的输入矩阵所做的任何更改也会改变函数范围之外的矩阵。 我读
是否可以有一个垫子分隔线(一条水平线分隔两个垫子选项)? 我试过: Cars Volvo Saab Mercedes Audi
使用的浏览器 - Chrome 67.0.3396.99 我创建了一个 DialogsModule它有一个组件 ConfirmDialog.component.ts使用以下模板 confirm-dia
我正在尝试使用 mat-toolbar 但出现错误: mat-menu.component.html: Responsive Navigation Menu I
我正在创建 angular 7 网络应用程序,并使用一个 mat-select 下拉菜单和一个 mat-paginator。现在我隐藏 mat-select 向下箭头。 Here is the mat
在我的应用程序中,我有一个通过引用接收 cv::Mat 对象的函数。这是函数的声明: void getChains(cv::Mat &img,std::vector &chains,cv::
我使用了独立的 EMA (1.5.0) 和 eclipse 插件(在 eclipse 4.5 中)来分析我的堆转储。 我想查看任何无法访问的对象信息,我已尝试在我的首选项和命令行选项 -keep_un
我是 flex 的新手,我的垫子 table 做得很好。 不幸的是,我的标题没有遵循我的单元格宽度。 这是我的结果的图片。 如您所见,我的标题与我的单元格不对齐。 这是我的 CSS 代码,就像我说我是
我试图在我的 Material 表上使用 mat-sort 和 mat-paginator,但似乎不起作用。 Table 确实获取了 dataSource.data 中的数据,它也显示在 mat-ta
我试图在我的 Material 表上使用 mat-sort 和 mat-paginator,但似乎不起作用。 Table 确实获取了 dataSource.data 中的数据,它也显示在 mat-ta
我想在每个 mat-option 文本上设置悬停样式,我希望文本显示在 mat-option 之外。为了实现这一点,我应用了非常高的 z-index 值,但没有任何改变。我尝试将 z-index 添加
默认情况下 mat-drawer-container/mat-sidenav-container 和 mat-drawer/mat-sidenav 高度基于 mat-drawer-cont
在 mat-card-header 中提供图像头像通过 mat-card-avatar 得到很好的支持. 在许多用例中,我们希望使用图标而不是图像作为卡片的“头像”。 有没有一种简单的方法可以用图标替
我想要一个包含 2 列的网格列表,并且在这些列中我想要 2 个垂直堆叠的复选框。 我看过 this question 这确实有点 工作,但我想知道是否有更简洁的方法解决这个问题,因为我必须使用大量的
更新:stackbliz https://angular-2wqf4b.stackblitz.io 我正在构建一个比较屏幕,我们可以在其中比较两个项目。我试图将这两项显示为两个 mat-cards里
试图模仿 Material guide 的外观,我无法让工具栏的阴影呈现在 mat-sidenav-container 元素之上: 显示工具栏和 sidenav 的页面,但投影不可见: 单独显示工具栏
请注意,分页/排序无法正常工作。分页不显示它显示的元素数量并且排序不起作用,但是如果您删除 html 文件中的行 *ngIf="dataSource?.filteredData.length > 0"
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Proper stack and heap usage in C++? Heap vs Stack allo
单击每个单选按钮时,我需要为每个垫卡添加背景。背景应仅适用于与单击的垫单选按钮对应的垫卡。
Mat a = (Mat_(3,3) = 2 int dims; //! the number of rows and columns or (-1, -1) when the arr
我是一名优秀的程序员,十分优秀!