Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
caa03f72
O
Opencv
项目概览
Greenplum
/
Opencv
11 个月 前同步成功
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
Opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
caa03f72
编写于
4月 05, 2015
作者:
V
Vadim Pisarevsky
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #3694 from Ashod:jp2
上级
085b4ca7
f75f2ffd
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
56 addition
and
19 deletion
+56
-19
3rdparty/libjasper/jas_cm.c
3rdparty/libjasper/jas_cm.c
+0
-1
3rdparty/libjasper/jas_stream.c
3rdparty/libjasper/jas_stream.c
+5
-2
modules/imgcodecs/src/grfmt_jpeg2000.cpp
modules/imgcodecs/src/grfmt_jpeg2000.cpp
+24
-1
modules/imgcodecs/src/loadsave.cpp
modules/imgcodecs/src/loadsave.cpp
+1
-8
modules/imgcodecs/test/test_grfmt.cpp
modules/imgcodecs/test/test_grfmt.cpp
+26
-7
未找到文件。
3rdparty/libjasper/jas_cm.c
浏览文件 @
caa03f72
...
...
@@ -842,7 +842,6 @@ static int jas_cmshapmat_apply(jas_cmpxform_t *pxform, jas_cmreal_t *in,
*
dst
++
=
a2
;
}
}
else
{
assert
(
0
);
while
(
--
cnt
>=
0
)
{
a0
=
*
src
++
;
src
++
;
...
...
3rdparty/libjasper/jas_stream.c
浏览文件 @
caa03f72
...
...
@@ -345,6 +345,7 @@ jas_stream_t *jas_stream_tmpfile()
{
jas_stream_t
*
stream
;
jas_stream_fileobj_t
*
obj
;
char
*
tmpname
;
if
(
!
(
stream
=
jas_stream_create
()))
{
return
0
;
...
...
@@ -365,10 +366,12 @@ jas_stream_t *jas_stream_tmpfile()
#ifdef _WIN32
/* Choose a file name. */
tmpnam
(
obj
->
pathname
);
tmpname
=
tempnam
(
NULL
,
NULL
);
strcpy
(
obj
->
pathname
,
tmpname
);
free
(
tmpname
);
/* Open the underlying file. */
if
((
obj
->
fd
=
open
(
obj
->
pathname
,
O_CREAT
|
O_EXCL
|
O_RDWR
|
O_TRUNC
|
O_BINARY
,
if
((
obj
->
fd
=
open
(
obj
->
pathname
,
O_CREAT
|
O_EXCL
|
O_RDWR
|
O_TRUNC
|
O_BINARY
|
O_TEMPORARY
|
_O_SHORT_LIVED
,
JAS_STREAM_PERMS
))
<
0
)
{
jas_stream_destroy
(
stream
);
return
0
;
...
...
modules/imgcodecs/src/grfmt_jpeg2000.cpp
浏览文件 @
caa03f72
...
...
@@ -45,6 +45,7 @@
#ifdef HAVE_JASPER
#include "grfmt_jpeg2000.hpp"
#include "opencv2/imgproc.hpp"
#ifdef WIN32
#define JAS_WIN_MSVC_BUILD 1
...
...
@@ -159,6 +160,21 @@ bool Jpeg2KDecoder::readData( Mat& img )
jas_stream_t
*
stream
=
(
jas_stream_t
*
)
m_stream
;
jas_image_t
*
image
=
(
jas_image_t
*
)
m_image
;
#ifndef WIN32
// At least on some Linux instances the
// system libjasper segfaults when
// converting color to grey.
// We do this conversion manually at the end.
Mat
clr
;
if
(
CV_MAT_CN
(
img
.
type
())
<
CV_MAT_CN
(
this
->
type
()))
{
clr
.
create
(
img
.
size
().
height
,
img
.
size
().
width
,
this
->
type
());
color
=
true
;
data
=
clr
.
ptr
();
step
=
(
int
)
clr
.
step
;
}
#endif
if
(
stream
&&
image
)
{
bool
convert
;
...
...
@@ -171,7 +187,7 @@ bool Jpeg2KDecoder::readData( Mat& img )
else
{
convert
=
(
jas_clrspc_fam
(
jas_image_clrspc
(
image
)
)
!=
JAS_CLRSPC_FAM_GRAY
);
colorspace
=
JAS_CLRSPC_SGRAY
;
// TODO GENGRAY or SGRAY?
colorspace
=
JAS_CLRSPC_SGRAY
;
// TODO GENGRAY or SGRAY?
(GENGRAY fails on Win.)
}
// convert to the desired colorspace
...
...
@@ -256,6 +272,13 @@ bool Jpeg2KDecoder::readData( Mat& img )
close
();
#ifndef WIN32
if
(
!
clr
.
empty
())
{
cv
::
cvtColor
(
clr
,
img
,
COLOR_BGR2GRAY
);
}
#endif
return
result
;
}
...
...
modules/imgcodecs/src/loadsave.cpp
浏览文件 @
caa03f72
...
...
@@ -374,15 +374,8 @@ imreadmulti_(const String& filename, int flags, std::vector<Mat>& mats)
type
=
CV_MAKETYPE
(
CV_MAT_DEPTH
(
type
),
1
);
}
// established the required input image size.
CvSize
size
;
size
.
width
=
decoder
->
width
();
size
.
height
=
decoder
->
height
();
Mat
mat
;
mat
.
create
(
size
.
height
,
size
.
width
,
type
);
// read the image data
Mat
mat
(
decoder
->
height
(),
decoder
->
width
(),
type
);
if
(
!
decoder
->
readData
(
mat
))
{
break
;
...
...
modules/imgcodecs/test/test_grfmt.cpp
浏览文件 @
caa03f72
...
...
@@ -87,6 +87,9 @@ TEST(Imgcodecs_imread, regression)
{
const
char
*
const
filenames
[]
=
{
#ifdef HAVE_JASPER
"Rome.jp2"
,
#endif
"color_palette_alpha.png"
,
"multipage.tif"
,
"rle.hdr"
,
...
...
@@ -99,16 +102,32 @@ TEST(Imgcodecs_imread, regression)
for
(
size_t
i
=
0
;
i
<
sizeof
(
filenames
)
/
sizeof
(
filenames
[
0
]);
++
i
)
{
ASSERT_TRUE
(
imread_compare
(
folder
+
string
(
filenames
[
i
]),
IMREAD_UNCHANGED
));
ASSERT_TRUE
(
imread_compare
(
folder
+
string
(
filenames
[
i
]),
IMREAD_GRAYSCALE
));
ASSERT_TRUE
(
imread_compare
(
folder
+
string
(
filenames
[
i
]),
IMREAD_COLOR
));
ASSERT_TRUE
(
imread_compare
(
folder
+
string
(
filenames
[
i
]),
IMREAD_ANYDEPTH
));
ASSERT_TRUE
(
imread_compare
(
folder
+
string
(
filenames
[
i
]),
IMREAD_ANYCOLOR
));
if
(
i
!=
2
)
// GDAL does not support hdr
ASSERT_TRUE
(
imread_compare
(
folder
+
string
(
filenames
[
i
]),
IMREAD_LOAD_GDAL
));
const
string
path
=
folder
+
string
(
filenames
[
i
]);
ASSERT_TRUE
(
imread_compare
(
path
,
IMREAD_UNCHANGED
));
ASSERT_TRUE
(
imread_compare
(
path
,
IMREAD_GRAYSCALE
));
ASSERT_TRUE
(
imread_compare
(
path
,
IMREAD_COLOR
));
ASSERT_TRUE
(
imread_compare
(
path
,
IMREAD_ANYDEPTH
));
ASSERT_TRUE
(
imread_compare
(
path
,
IMREAD_ANYCOLOR
));
if
(
path
.
substr
(
path
.
length
()
-
3
)
!=
"hdr"
)
{
// GDAL does not support hdr
ASSERT_TRUE
(
imread_compare
(
path
,
IMREAD_LOAD_GDAL
));
}
}
}
#ifdef HAVE_JASPER
TEST
(
Imgcodecs_jasper
,
regression
)
{
const
string
folder
=
string
(
cvtest
::
TS
::
ptr
()
->
get_data_path
())
+
"/readwrite/"
;
ASSERT_TRUE
(
imread_compare
(
folder
+
"Bretagne2.jp2"
,
IMREAD_COLOR
));
ASSERT_TRUE
(
imread_compare
(
folder
+
"Bretagne2.jp2"
,
IMREAD_GRAYSCALE
));
ASSERT_TRUE
(
imread_compare
(
folder
+
"Grey.jp2"
,
IMREAD_COLOR
));
ASSERT_TRUE
(
imread_compare
(
folder
+
"Grey.jp2"
,
IMREAD_GRAYSCALE
));
}
#endif
class
CV_GrfmtWriteBigImageTest
:
public
cvtest
::
BaseTest
{
public:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录