マトリクス画像データ処理と変換
11821 ワード
画像には、JPG、PNG、BMPなどN種類の符号化があり、悪いことに、画像のデータにもN種類の符号化があり、RGB、RGBBA、ARGB、BGRA、BGR、YUV、HSVなどがあり、YUVだけでもNV 21、NV 12、SP 420、sp 422など多くの符号化フォーマットがある.最も一般的なRGBAはalphaチャネル,Bチャネル,Rチャネルの配列順序が異なるため,表示には異なる表示スキームが必要である.これは画像処理,画像変換,画像表示の研究に多くの不便をもたらす.特にプラットフォームにまたがる画像伝送、プッシュストリームでは、注意しないと文字化けしたり、色エラーが発生したりします.
画像符号化と画像データ符号化は異なり、例えばJPGは、画像符号化であり、復号後に1つの画像データが得られる.このデータは一般的に色情報の配列であり、この配列は一部のシステムで復号後にGBRデータが得られ、一部はRGBデータが得られ、両者は色情報であるが、メモリに配列される順序が異なり、表示上のRチャネルとBチャネルが逆転している.
ほとんどの場合、画像データのトランスコードは必要なく、画像フォーマットの変換が多い.処理速度に敏感なシステム、例えばAI識別では、システムの必要に応じてデータトランスコードを行う必要があります.変換中のデータの整合性と完全性を保証するために、デバッグ段階でデータを保存する必要があります.保存されているのはRGB、BGR、YUVなどのヌードデータで、これらのヌードデータは直感的に表示できません.検討して、Opencv表示を利用します.データ転送中の整合性と一貫性を確認するために使用します.
YUV 420画像表示 デスクトップに複数のボールが同時に動いているのに、どのようにしてボールの間が交差しない、つまり衝突を実現しますか?
韓国の赤い果物の番号を変えます
html 小球がぶつかる
『高性能HTML 5』を読んで整理したWeb性能最適化内容
砂糖
html5
[Jshop]Spring MVCのRequestContextHolder使用エラー
dinguangx
jeeshop ショッピングモールシステム jshop 電子商取引システム
アルゴリズムの時間複雑度
周凡楊
java アルゴリズム#アルゴリズム# 時間の複雑さ こうりつ
Javaトランザクション
g21121
java
Linux awkコマンドの詳細
510888780
linux
android permission
布衣凌宇
Permission
OracleとGoogle Java Android訴訟は延期されます
aijuans
java oracle
アルファベットで分類:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z その他
トップページ -
私たちについて -
構内検索 -
Sitemap -
権利侵害苦情
著作権すべてのIT知識ベースCopyRight© 2000-2050 IT知識ベースIT 610.com , All Rights Reserved.
京ICP備09083238号
画像符号化と画像データ符号化は異なり、例えばJPGは、画像符号化であり、復号後に1つの画像データが得られる.このデータは一般的に色情報の配列であり、この配列は一部のシステムで復号後にGBRデータが得られ、一部はRGBデータが得られ、両者は色情報であるが、メモリに配列される順序が異なり、表示上のRチャネルとBチャネルが逆転している.
ほとんどの場合、画像データのトランスコードは必要なく、画像フォーマットの変換が多い.処理速度に敏感なシステム、例えばAI識別では、システムの必要に応じてデータトランスコードを行う必要があります.変換中のデータの整合性と完全性を保証するために、デバッグ段階でデータを保存する必要があります.保存されているのはRGB、BGR、YUVなどのヌードデータで、これらのヌードデータは直感的に表示できません.検討して、Opencv表示を利用します.データ転送中の整合性と一貫性を確認するために使用します.
YUV 420画像表示
from PIL import Image
import sys
from struct import *
import array
if len(sys.argv) != 4:
print "***** Usage syntax Error!!!! *****
"
print "Usage:"
print "python <.yuv file yuv420p> <width>> <height> "
sys.exit(1) # exit
else:
pass
image_name = sys.argv[1]
width = int(sys.argv[2])
height = int(sys.argv[3])
y = array.array('B')
u = array.array('B')
v = array.array('B')
f_y = open(image_name, "rb")
f_uv = open(image_name, "rb")
f_uv.seek(width*height, 1)
image_out = Image.new("RGB", (width, height))
pix = image_out.load()
print "width=", width, "height=", height
for i in range(0, height/2):
for j in range(0, width/2):
u.append(ord(f_uv.read(1)));
for i in range(0, height/2):
for j in range(0, width/2):
v.append(ord(f_uv.read(1)));
for i in range(0,height):
for j in range(0, width):
y.append(ord(f_y.read(1)));
#print "i=", i, "j=", j , (i*width), ((i*width) +j)
#pix[j, i] = y[(i*width) +j], y[(i*width) +j], y[(i*width) +j]
Y_val = y[(i*width)+j]
U_val = u[((i/2)*(width/2))+(j/2)]
V_val = v[((i/2)*(width/2))+(j/2)]
B = 1.164 * (Y_val-16) + 2.018 * (U_val - 128)
G = 1.164 * (Y_val-16) - 0.813 * (V_val - 128) - 0.391 * (U_val - 128)
R = 1.164 * (Y_val-16) + 1.596*(V_val - 128)
pix[j, i] = int(R), int(G), int(B)
######################################################
# B = 1.164(Y - 16) + 2.018(U - 128)
# G = 1.164(Y - 16) - 0.813(V - 128) - 0.391(U - 128)
# R = 1.164(Y - 16) + 1.596(V - 128)
######################################################
#image_out.save("out.bmp")
image_out.show()
</code></pre>
<p>YUV422 </p>
<pre><code class="language-python">from PIL import Image
import sys
from struct import *
import array
if len(sys.argv) != 4:
print "***** Usage syntax Error!!!! *****
"
print "Usage:"
print "python <script> <.yuv file uyvy422> <width>> <height> "
sys.exit(1) # exit
else:
pass
image_name = sys.argv[1]
width = int(sys.argv[2])
height = int(sys.argv[3])
y = array.array('B')
u = array.array('B')
v = array.array('B')
f_uyvy = open(image_name, "rb")
f_uv = open(image_name, "rb")
f_uv.seek(width*height, 1)
image_out = Image.new("RGB", (width, height))
pix = image_out.load()
print "width=", width, "height=", height
for i in range(0,height):
for j in range(0, width/2):
u = ord(f_uyvy.read(1));
y1 = ord(f_uyvy.read(1));
v = ord(f_uyvy.read(1));
y2 = ord(f_uyvy.read(1));
B = 1.164 * (y1-16) + 2.018 * (u - 128)
G = 1.164 * (y1-16) - 0.813 * (v - 128) - 0.391 * (u - 128)
R = 1.164 * (y1-16) + 1.596*(v - 128)
pix[j*2, i] = int(R), int(G), int(B)
B = 1.164 * (y2-16) + 2.018 * (u - 128)
G = 1.164 * (y2-16) - 0.813 * (v - 128) - 0.391 * (u - 128)
R = 1.164 * (y2-16) + 1.596*(v - 128)
pix[j*2+1, i] = int(R), int(G), int(B)
######################################################
# B = 1.164(Y - 16) + 2.018(U - 128)
# G = 1.164(Y - 16) - 0.813(V - 128) - 0.391(U - 128)
# R = 1.164(Y - 16) + 1.596(V - 128)
######################################################
#image_out.save("out.bmp")
image_out.show()
</code></pre>
<p>BGR </p>
<pre><code class="language-python">from PIL import Image
import sys
from struct import *
import array
if len(sys.argv) != 4:
print "***** Usage syntax Error!!!! *****
"
print "Usage:"
print "python <script> <.bgr file bgr> <width>> <height> "
sys.exit(1) # exit
else:
pass
image_name = sys.argv[1]
width = int(sys.argv[2])
height = int(sys.argv[3])
y = array.array('B')
f_y = open(image_name, "rb")
image_out = Image.new("RGB", (width, height))
pix = image_out.load()
print "width=", width, "height=", height
for i in range(0, height):
for j in range(0, width*3):
y.append(ord(f_y.read(1)));
for i in range(0,height):
for j in range(0, width):
B = y[(i*width*3)+j*3]
G = y[(i*width*3)+j*3+1]
R = y[(i*width*3)+j*3+2]
pix[j, i] = int(R), int(G), int(B)
image_out.save("out.bmp")
image_out.show()
</code></pre>
<p>RGB , R B RGB</p>
</div>
</div>
</div>
</div>
</div>
<!--PC WAP -->
<div id="SOHUCS" sid="1274375940884938752"></div>
<script type="text/javascript" src="/views/front/js/chanyan.js">
興味があるかもしれません
韓国の赤い果物の番号を変えます
html 小球がぶつかる
砂糖
html5
dinguangx
jeeshop ショッピングモールシステム jshop 電子商取引システム
周凡楊
java アルゴリズム#アルゴリズム# 時間の複雑さ こうりつ
g21121
java
510888780
linux
布衣凌宇
Permission
aijuans
java oracle
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z その他
トップページ -
私たちについて -
構内検索 -
Sitemap -
権利侵害苦情
著作権すべてのIT知識ベースCopyRight© 2000-2050 IT知識ベースIT 610.com , All Rights Reserved.
京ICP備09083238号