Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
疯人忠
Cvat
提交
dcc0182d
C
Cvat
项目概览
疯人忠
/
Cvat
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
Cvat
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
dcc0182d
编写于
9月 05, 2023
作者:
B
Boris Sekachev
提交者:
GitHub
9月 05, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fixed error for non-jpeg compressed images in original chunks (#6789)
Resolved #6598
上级
431cf3d1
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
20 addition
and
3 deletion
+20
-3
CHANGELOG.md
CHANGELOG.md
+1
-0
cvat/apps/engine/media_extractors.py
cvat/apps/engine/media_extractors.py
+19
-3
未找到文件。
CHANGELOG.md
浏览文件 @
dcc0182d
...
...
@@ -23,6 +23,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed
-
Zooming canvas when scrooling comments list in an issue (
<https://github.com/opencv/cvat/pull/6758>
)
-
Issues can be created many times when initial submit (
<https://github.com/opencv/cvat/pull/6758>
)
-
Running deep learning models on non-jpeg compressed tif images (
<https://github.com/opencv/cvat/pull/6789>
)
-
Paddings on tasks/projects/models pages (
<https://github.com/opencv/cvat/pull/6778>
)
-
Memory leak in the logging system (
<https://github.com/opencv/cvat/pull/6804>
)
...
...
cvat/apps/engine/media_extractors.py
浏览文件 @
dcc0182d
...
...
@@ -80,6 +80,9 @@ def image_size_within_orientation(img: Image):
return
img
.
height
,
img
.
width
return
img
.
width
,
img
.
height
def
has_exif_rotation
(
img
:
Image
):
return
img
.
getexif
().
get
(
ORIENTATION_EXIF_TAG
,
ORIENTATION
.
NORMAL_HORIZONTAL
)
!=
ORIENTATION
.
NORMAL_HORIZONTAL
def
rotate_within_exif
(
img
:
Image
):
orientation
=
img
.
getexif
().
get
(
ORIENTATION_EXIF_TAG
,
ORIENTATION
.
NORMAL_HORIZONTAL
)
if
orientation
in
[
ORIENTATION
.
NORMAL_180_ROTATED
,
ORIENTATION
.
MIRROR_VERTICAL
]:
...
...
@@ -661,12 +664,25 @@ class ZipChunkWriter(IChunkWriter):
ext
=
os
.
path
.
splitext
(
path
)[
1
].
replace
(
'.'
,
''
)
output
=
io
.
BytesIO
()
if
self
.
_dimension
==
DimensionType
.
DIM_2D
:
pil_image
=
rotate_within_exif
(
Image
.
open
(
image
))
pil_image
.
save
(
output
,
format
=
pil_image
.
format
if
pil_image
.
format
else
self
.
IMAGE_EXT
,
quality
=
100
,
subsampling
=
0
)
pil_image
=
Image
.
open
(
image
)
if
has_exif_rotation
(
pil_image
):
rot_image
=
rotate_within_exif
(
pil_image
)
if
rot_image
.
format
==
'TIFF'
:
# https://pillow.readthedocs.io/en/stable/handbook/image-file-formats.html
# use loseless lzw compression for tiff images
rot_image
.
save
(
output
,
format
=
'TIFF'
,
compression
=
'tiff_lzw'
)
else
:
rot_image
.
save
(
output
,
format
=
rot_image
.
format
if
rot_image
.
format
else
self
.
IMAGE_EXT
,
quality
=
100
,
subsampling
=
0
)
else
:
output
=
image
else
:
output
,
ext
=
self
.
_write_pcd_file
(
image
)[
0
:
2
]
arcname
=
'{:06d}.{}'
.
format
(
idx
,
ext
)
zip_chunk
.
writestr
(
arcname
,
output
.
getvalue
())
if
isinstance
(
output
,
io
.
BytesIO
):
zip_chunk
.
writestr
(
arcname
,
output
.
getvalue
())
else
:
zip_chunk
.
write
(
filename
=
output
,
arcname
=
arcname
)
# return empty list because ZipChunkWriter write files as is
# and does not decode it to know img size.
return
[]
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录