write image , tfrecord
https://blog.csdn.net/index20001/article/details/73843070
https://tensorflow-notes.readthedocs.io/zh_CN/latest/tfrecord.html
https://segmentfault.com/a/1190000011510838
- scipy.misc.imsave 方法可以很容易的将 numpy 数据存成图像格式,且基本没有大小限制。
- 读图的时候是用 tensorflow 的函数,存图像用的 scipy.misc 的 imsave 函数。
- step:
import numpy as np import skimage.io as io import scipy.misc test_img = io.imread('./27434_20180523_EU_NCAP_Part1.png') test_string = test_img.tostring() reconstructed_test_1d = np.fromstring(test_string, dtype=np.uint8) scipy.misc.imsave('reimg1.png',reconstructed_test_img)
- log:
>>> import scipy.misc >>> test_img = io.imread('./27434_20180523_EU_NCAP_Part1.png') >>> test_img array([[[121, 125, 122], [121, 125, 121], [122, 125, 120], ..., [102, 119, 92], [ 73, 110, 40], [ 59, 106, 14]], [[122, 125, 122], [121, 125, 121], [122, 125, 120], ..., [ 97, 115, 89], [ 72, 108, 39], [ 60, 105, 14]], [[123, 125, 121], [122, 125, 120], [121, 125, 120], ..., [ 86, 105, 84], [ 70, 104, 36], [ 62, 104, 13]], ..., [[118, 122, 118], [117, 122, 117], [117, 122, 117], ..., [ 45, 51, 55], [ 18, 27, 24], [ 5, 15, 8]], [[117, 122, 117], [116, 122, 117], [116, 122, 117], ..., [ 54, 58, 57], [ 22, 30, 25], [ 6, 16, 9]], [[116, 122, 116], [116, 122, 116], [115, 122, 117], ..., [ 59, 61, 58], [ 24, 32, 25], [ 6, 17, 9]]], dtype=uint8) >>> test_string = test_img.tostring() >>> test_string 'y}zy}yz}xz}wy}xy}xy}xy}xy}xy}xx}wx}wx}xx}yy}xy}wx}vx}uy}vy}wz}xz}y{}x{}x{}wz}wx}xw}xw}ww}wx}ww}wv|wu{wtzwr ywoxwmvwluwjtuirrhpqgopeopdnocnocmocmodnpdnreotfpugqthstitukvvmwwoywrzwt{wu|vfw\\In(;j\x0ez}zy}yz}xz}wy}xy} xy}xy}xy}xy}xx}wx}xx}xx}xy}xy}wx}vx}vy}vy}wz}xz}xz}xz}xz}wy|ww|xv|wu{vtzvsyurxtovsnurlsqjqpgoodmnclnakm`ik^ gi]fi[ehZdhYdgYcgYcgZdhZdiZdk[fl\\gk^il`jmblndnofppirqktrmurasYHl\'<i\x0e{}yz}xy}xy}xy}xy}xx}wx}wx}xx}xy}xy }xy}wy}vx}wx}xy}wy}wy}wy}wz}wz}wy|wy|ww|wv{wuzwsyvpwumutjrrfnobkl^hh[edXbaV^^S\\]QY]OX\\LV[JTZISZGRZFQYEPXF PWFPWEOWEOXEPYFQYGSZIU[LW\\OY^Q\\`S^cVafYeh]hkViTFh$>h\rz}wz}wy}xy}xy}xy}xx}wx}wx}xx}xy}xy}xy}wy}wx}xx}xy}x y}wx}wx}wy|wx|wwzvuyvrwuousmsqipoelmaij\\ehWaeS\\aOY]KVYISUGPSEMQCKRAIQ?HP=GP<FP;EP:DO:DN:CM:CM:CM:CM:CN:DN :FO<GP>IQAKSCMUDOWGRZIU]MX`K\\MC`!?b\x0cy}vx}vx}wx}wx}wx}wy}xx}xx}wx}wy}wz}xz}xy}xx}yx}yx}wx}vw|vw|vv{wuyvr wuntsjoqejl_eeZ``U[]PWZJSWFOUBKS@HQ=FO<EN;CL:AL:@M:@M8?K8?J7?J6>J6>K7>J7>I7>I7>J7>J7>I7>J7?J7?K7@L8@L:AM;BN ;DO<EP=GS>LB>T\x1d>X\x0bx}vw}vw}ww}ww}wx}wx}xx}xw}ww}wy}wz}wz}xy}xx}yx}xx|vw|uuzvrxupvsmrphnncij]cgW]aQWZLQ THMRCIP>FN:CL8AK7?J5>J5=I5<I5;J5;J5;J4;H4;G4;G4;G4;H4;H5;G5<H6<I6;I5;G5;G5;H4;I4;I4;I5;I5;J4<I4=J5=K7B;:K\x 1a<P\nw}ww}wv|xv|xw}xw}xw}xv}xv}xv}xx}wy}wy}wx}wx|wx|ww{vuyvpvukrrflk`feZ__RX[JRWDLTAHP?DM<AL:@K8?K6>J5=I4< I4;I4;I5;I4:I3;H3;G3:G3:G3;G3;G3;G3;G3:G4;H5;I5:I6:G6:F5:G5:H4:H4:H4:I3:I3:I3;I2;H4?87F\x198J\tw}ww}ww|xw|x w}xw}xw}xw}xv}yw}xx}wy}wx}wx|vw{vuyurvsnrphmmaghY`aRYZLQTEKP=FN8BL8?J7<I6;H5;H4;H4;H3;H3;H3:H3:H4:I3:I2;H2; G3:H3:H3;G3;G2;G2;G3:H3:I4:I5:I5:G5:F59G49G39G39H39H39I29I2:H2:F3=66F\x188J\tx}vx}vx}wx}wx}wx}wx}xx}xy}xy}x x|wx|wy|vxzutxuotrjnlcgeZ_^RXXIPSCJO>EK:AJ7?J5=J4<I4;H4;G4;G3;G3;G3;G3;G3:G3:G2:H2:H2:I2:I3:I4:I3:H3:H3:H3: H3:I3:I39I49I4:H4:G49G39G28F18G29H29H38H39H39F4>78J\x18;P\tx}vx}vy}wy}wx}wx}wy}xy}xy}xy|xx{xwzwwytsvqmrofkj _dcW\\\\OSTFLN?FL9AI7>G5<G4;G3:H2:H2:H3:G3;F3;G3;G3;F3;F4;G4;G4<G5<G7=H9=I:>J;?I;?I<?I<@J<@J<@J<@J=?J=?J=@I =@I<?H:>G9=F9<F9<G8;H7:H69G58F7=7<G\x18?M\ty}wy}wy}wy}wx}xx}xx}xx}yy|yy{yxzzuxwqtqkokahdY`^RXYLPTDIO>CK9?J6 =I5;H4;G3:F3:G29I29I2:H2:G3:G3:G3:G4;G5<G7=G9?F=@FABFEDGIFIKHILIIMJJNKLOLMOLMOLMPLMPLLOLKNKJMJJKIHJGGIEGHBF E@G@>G<;F89F::7A>\x18D@\ty}xy}wy}wy}wx}wx}xx}xx|xx{xwywtwworrilj`ebU\\ZMUUGMRBGO=BK9>I6<I4:H4:H3:G3:F39G29I 29I3:H4;G5<G7=G8>H;?I=AJ@CJDEIHGHLJHPLISNKUPLVQLWRMXSOYTOYTOYUOZTOZTOYTMXSMVRLUQKUOJTMIRKIOHIJEHFCHB@H=;895 \x1972\tx}wx}vx}wx}wx}vx}wx|wx{wwzvtvtmqofjh]`]SWVIORBHP>DN;@L9>J7<I5;H3:H39G29G39G39H29H3:H4;G7=F:?G>BHCEJ HHLLKNPNOSPNURNXSOYUPZVQZWR[WQ[WQZXRZXRZXR[XR\\XR\\XQZXPYXOYWOXWOYVOYUNXTOWSNUQMSPLQMKBA:&+\x1a\x18!\nx}vx} vx}wx}wx}vx|vw{vvyusvrnpneif\\`^RUUHLO@EL:AK8>K6<J6<I5;I4:H3:G39G39G39G49H4;H7=H:?H>BHCEIHIJMMLRPNVRPYUQ[WQ \\XR]YR]YS\\ZT]ZT]ZS\\ZS[ZS[ZS[ZS\\ZS]ZS\\ZR[ZQZZPZZQ[ZQ[YQ\\YQ\\YR[YQZXPZWOYUNEE=\x1c&\x1b\x08\x16\nw}ww}w x|wx|ww|ww{vvzurvrmplehe\\^]RTUGKO?DK:@I7>H5=I4<I4;I3;H4:G4:G4:G4:G4:G5<G9>G>BHDGKJKMNONSROVTPYVQ[WR\\XR\\Y R\\ZR[ZS[ZS[ZS\\ZS\\ZR[ZR\\[R\\[R\\ZS\\ZS\\ZS\\ZR\\ZQ\\ZQ[ZQ\\ZQ\\ZR]ZR]ZR\\ZR[YQZYQZXQEF?\x1d#\x1c\t\x12\x 0bw}ww}wx|wx|ww|vuzuswrmqmehe\\_]RTUHKO?CK:?I7=H5<H4<H4;H3;I3;H4:G4:G5;G7<G8>H<AHBEIHIKMNNRRPVUQYXQ[YR\\YR] ZR]ZR\\[R[[RZ[SZ[S[ZS[ZS[ZR[ZR\\[R\\[R\\ZR\\ZS[ZS[ZR\\ZR\\ZR\\ZR\\ZR\\ZR]ZR]ZS\\ZS\\ZR[ZR[YRFG@\x1d#\x1d\t\ x11\x0bw}vw}vx|ww|vw{utxrnrmgjf]`]SVVGLP?DL<@J9=I7<I6;I5;H4;H4:I4:I4:H5;G6<F:?FACIGHKONMTROVUQXWRYXRZYR[ZR[ ZR[ZQ[ZR[ZSZZSZZRZZR[ZS[ZS[ZS[ZS\\ZS\\ZR\\ZR\\ZR[ZR[ZR[[R[[S\\ZS\\ZS[ZS\\ZS\\ZS\\ZS\\ZS\\ZS\\ZRGH@\x1e$\x1d \t\x12\x0bw}vw|vw|ww{vuytqtojlh`c`UWVJMP?EL9@J9=J8<I7;J6;I5;H5;H4:H4;H5;H7=H;@GADIIJLPONWTPZWQZXRZYRZYRYXRX XQWWQVVPUVPUVQUVQUWQVWQWXRXYSYYSZZT[ZS\\ZS\\ZR\\ZR[ZS[ZS[[S[[S\\ZS\\ZR[ZR[ZS[ZS[ZS[YS[YS[YRFG@\x1d$\x1d\t\x 12\x0bv|wv|ww{wvyusvrnokeebYZYLOQBFL:@K6=J6<J7;J6;I6;I5;H4;G4;G5<G7>H<AJCGLKLNRQQWURYWRZXRYXQYXQXWQVUPRSOOQ NMOMLNLKMLKNMLPOMQPOTQRVRUXSXYSZYS[YS[ZS[ZS[ZT[ZT[ZR[ZR\\ZR\\ZQ[ZQ[ZRZYSZYTZXSYXRXWRCF@\x1b#\x1d\x08\x12\x0 cv|xv|wv{wtwtqroiif^][SRSFHL<AI7=I5<I5;J5;J6;I5;I4;H4;G5<G7>G;AIBFLJMNQRQWVSZXSZXRYWQVUOTSMPPKLMIHJGEGFCEEB DDBCCBDDCFFDGHFJIIMKLPMPROTUPWWRYYRZZS[ZT[ZT[ZR[ZQ\\ZQ\\ZQ[YQYXQXWRVUQSSOQQMOOK<?:\x18!\x1b\x06\x11\x0cv|yv {xuzvrurmmjdc`WVULLNADI9>G7<G5;H4;I4;I5;J5;I4;H5<H7>H;AICGLJMNQROUVQXXSYYSYWQVTNQPLKJGCD@=@<;<9997986986:85 :96;97<99<;;=>>>BBCGFINKPSOUWPYYQZZR[ZSZZS[ZR\\YR\\YRZXRWUQSRONNLHIFCEA@A>04/\x13\x1c\x17\x05\x10\x0bv|xu{w txtprnihd^][QPQFGK=@G7<F6;G4;H3;H3;I4;I4;I4;H6=H:@I@EKILNPRPUVPXXQXYSXXRWTNROJJHEBB?;<8784662761:72<82>92?9 2?82>73;53965899:>>@EDGLIORMUVPYXQZZRZZS[YS\\XRZWPVTOQOLKJHEEC?@=;<8995+-)\x11\x18\x14\x04\x0e\nu{vuzttvqnn idc_XWVLKNBCJ;=H6;G4:H3:H3:H3:H3:H3;H4;H7>I>DKFJMOQOUUQXXQYXRWXRVUOSOJMHCA?:;95872871;92@=4EA7KD9OF:PE9NC9K ?6E92?609527769;;>ABGJJOQOVVQZYR[YS[XS[WQWTMPMHHFB@?;::6873851960-+&\x12\x17\x13\x05\r\nv{tuxrssmkke^^ZRRRG GL>@I9<I5:H3:H2:H3:G3:G3:G3;G4<H9AIBHLKNOSTPXXQZXQZXRWWQTRMNJEFA=<95751762;94A?8HE<OJ@TNBXOBYOBXMATI>NA8G<4 ?729537669:<?DEHLKRSOYWQZXR[XQZUNTPIIGA@?:883550750:72?:330*\x14\x18\x15\x06\x0c\x0bwzruworpjhfbYYVLMOBDK:> I7;I4:H39G29F2:F2:F3:G4;G6>H<DIFKLNQNUUPYXPZXQZWQXVORPIHE@?<9:64853:97@?<HHDPNIVRKYULZVLZVL[ULYRJVNFQH@J?9B 959646789>?AFFNPLVVOYXPYWOWSKOKDAA:9:4561661;;4B@9KG@=;5\x19\x1c\x19\x07\r\x0cxzsuvoqnhfc_VUTHJM>AJ7<I5;I39 H29G29F19F2:F3:F5<G8@I?FKJNMRSOWVPZXP[XQZWPXVNROGEB<=:6953964;;:BBALLJTSOZVP\\XQ[YQ[YQ\\YR\\XP[UMWOGPE>G=8; 745656;;>CBLNJUUNYWOYVNVQHMHA>=6571550883@@9HG@ROICA=\x1b\x1f\x1c\x07\r\x0cwyvuuppkfe`\\URRGGL<@K5;I3:H29G1 8G18G09G19F3:F6<G<AJDHMNPOUUPYWQ[XQZXQYWPXVMROFHB;@:4;62964;<;ACCKMLSSPYWQ[YRZYRZYR\\YQ\\XPZVOVPJPHAG@:=858 647:9>A@LMHUTMYWPYUMUOGLF>=;5661761<;6ED>MLFUSMED@\x1c \x1d\x07\x0e\x0cvywtspnidd]YSPPFEK;>J4:H29G19G18F18F 09G19G3:F7=H>CKGJNRRPXVQZWR[XRZXQYXPXWMTQGLE<E=6=72:639:9=A@EIIMPNTTQXWRXXRYXRZXQYVPWTNRNIKF@D?9<84974:;9AB ?NMHVTMZWPYUMUNFLE>>:4750862=<8FFBONIWUPFEA\x1c!\x1e\x07\x0e\x0cuxvrrolgaa[VRNNEDJ:=H4:G39F28F19E19E19F29G2 :G6>I>ELHLOSSQYWRZXRZXRZXQYXPYXNWSISKALC9A93:517648::<ABCHIKONQSQTURVVRVUQTSOOOKIIEB@<=:6973985==:EDAQNIXUN YWPYUNWNGNE>?:4750762<;9EFCNNJVUPEFA\x1c!\x1e\x07\x0f\x0cuwtqqmkf^_ZTPMMDCI:=H49G49F38F29E19E29F29G3:H7?J?F MIMOTTQZWRZXRZXRYXQYXPYXOXUKWPEQH?F>7>838526658:;<?ABFGHJJKLKMMKLMJJKGFFDAA?<;7984984<;7CA>KIDTQKYVOZWPYUMX NGOF>?;4750763<;9EFCMNJUUODF@\x1b!\x1d\x07\x0f\x0cvwsrqkje]^XROLLCBH9<G49G49F39F28F28F28F39G4:G8?J@GNJNPTTQ YXQYXQYXQYXRYXQZXOYVMXTKTNFME>E=8=7384274476699:;<<==>>>>=><<=:;:8986863873;;5A@;JHCQOIWTMZWPZXPYUMWOFNF??; 5762864<<9EEBNNIUUNDF?\x1b"\x1c\x07\x10\x0bvwrrqkje\\_XRPLKDBH9<G49F49F38F38F28F28F39F4:G8?J@GNJNPTUPYXQYXQ YXQYXQYXQZXPYVOXTMTOHMG@E?9=73830730731753875:86:96984973851730640862;;7AB=KKFRRLWVOZXPZXPYUMWOFNF??;676286 4<<9EEBMNHUUMEG>\x1b"\x1c\x07\x11\x0buxrqrkkf]`YSRMLECG:=F49E39E38E37F37F28G29G3:F7?I?GMINOTUPZXPZXPZXPYXQY XQYWQXUOUQLOKFEB=>;6962740851:71>93@;4A<5B<5A;3@91=6/:4.83/752998>@?FJGMQMUUOYWPZXOYULXNGOE??:5851864<;9DEA MMGUULEF=\x1c#\x1c\x07\x12\x0buxrrrkng^c[SSNLEDG:=F49E39E38E37F27F28G29G2:F6?H>FLHMOTTPZXPZXOZXOYXPYWQYVPVS MPLHIEA?=9994862972=:4B>6FA8ID:JD;KD;JC:HA8F>5C:3>71;73987:==@EDGLJQRMVVOXWNYULXNGOF?@:5851863<;9DEAMMHUTME F>\x1c$\x1c\x07\x12\x0bvysuslqh_g\\TUOLFEH:>G4:F39F38F28F28F18F18F2:G5>H<ELFLNSSOYWPZXOZXOYXPYWPXUOSOJIFAA> :;85863983><6FC<MI@RMDTPGUQITQITQHSOFSLBPF=I?8B:5;848879==?DCKMJRTMVVMXUKWOFPG?A;5961863<<8EEBMMIUTNEG?\x1b $\x1c\x07\x13\x0bwysvtmskai_VVQMGFH;>G5:G49F39F28F28F18F18F29G5=H:CKCJMPROWWPYXPZXPYXPYWOYTMRLFEA;<94852863 ;;6BA;LJBSPGXTKZVNZWPYWQYXPYWNZTJWOEQF>H?8>94763587:>=EIFNQKTUMXUKWPFOG?@;6862862<;8DEBLMIUTODG@\x1c$\x1d\x 07\x14\x0bvztuvntncjcYWTOHHI>?G8:F59F39F28E18E08F08G19G4<H8AJ?HLKQPSVQWWQYXQZXPZVN[SKSJCB>7971651874=>:EEAO NHUSLXUNYWPYWQZXQZXR[XQZWOXSKTLEMD=A;69625527:8@DBIMITTLYULWOGNG?>:6652653;:8CDAKMHTTNDG?\x1c%\x1c\x08\x15\ x0bvzuuwptqfkf\\ZWQMKJCAG;;F5:F29F28E18E/8F/8G08G2;G5?H<EKFNOOTQUWQXXQYXPZVNZSJRJBB=586/640775=><DFCNOJUTOX VPYWQYXQYXQZXR[WRYWQWTNSNHLF@A<7:72541785=B?GKGTSLYTLWPGNG@>:6642642:97BC@JLGSTMDG?\x1c&\x1d\x08\x15\x0cw{v uxrssklia`ZTTNKHDH>=G6:G29G18E08E.9F.8F/8F19F2<G8AJBJMJQOSVPWXPXXPYWNXTJQLBC>7:61641665:<<ADCJNJRSNWVOYWPYX PXXPYWQYVQWTPSQMMLHGEA?=8:83751895>B>GKFSSLXUMWPGNG@?;6741642:86AB?IKFRSLCG>\x1b&\x1e\x07\x16\x0ew{uuyssunn lee_WZSNLHJA@G8;G39G18F08E/9F/8E/7E08E19F6>H=ELFMNOSOUWPWXPXWOWVLQOEHB:A:4:51753899<?@CHGJNLPRMTTNTUOTUPUUP TSOQPMLLJFGE@B?<<8984872;;6BD?KMGUTMYUNWQIPIBD=8;72852985>?=FGDOPJ@E>\x1a%\x1f\x07\x16\x10vzsuyrtvoqphje\\^ ZSOMLCCH;=G59F28F18F18E18E17D17D28E4;G9AK@HNJPPQUQUWPWXPVWOURISJ?LA7A829406546899=A>CGCJJHNMKPNMQONPOLMLGIH BDD=@?9<;797785995>?:IHCRPJXUOZVPXTLSMEKB;B;4:827849<:?BAHKI;A>\x18$ \x07\x15\x11uzsuyruxqsskokae`XWSOJHI@? G8;F39G18F28E28D17D17E28E3:G5=I:CLCKPJQQRUPVWPWWPWULXPETI>I>7@83:6276567;7;?;AB?EECGFEHGEGGCED?A@;=<8:96977 959:6>>9ED>PMFWSLZVQ[WQYVNUQHQH?IA8?;4993797:=<ADD>;:1!\x1f*\x14\x11v{tvzsvysuvotpfng]dZRWNKGDH<=G5:F28E18D 08C07E17F18F29G2:H5>J:FNBLPMRPUVQXWQYVOYULWPGRI@KB:E<5>73964664775897::8;;9::8997975863763783;:4@?7GE>OLDVR JZVN[XQ[XQZWPXTKVOEPH>G?8?:48746769::H11c\x1c\x1bp\x11\x10v{uv{uvzuvxrvtkslblaW`UOPIJCAH9;G49F18D08D17F17G1 7G28G18G2;H4@L;FNFNPOSQUUQXWPXWOXUMWQHSKBND<H?8B;5=93<82;72<72;82:82:72;72=82=:4?=6CA9IF>PMDVRIZUM\\XO[YQZY QZXPYWNYTJUNDNF>G@9?;5;84:84R-,\x81\x1a\x1b\x99\x10\x12u{vu{vv{vvztwxptriph^g]U[QNMFI?>H7:G49F28E27E27F16F1 7F17F19G3;I6@L=GNFMPOSPUVPWWOXVNXUMWSJUPGSLCOI?LF<IC8HA6G?4F?3D?3E@4G@6JB9LE<NI@QLETPIWTMZVO\\XO]YP[YPZYPYX OXXOXWMWTJUOFQK@ME;I@6D<3[/+\x8c\x1b\x1f\xa4\x11\x19u{vu{vv{vv{uvzsuvnroeme\\dYSXNLIDI>=G7:F48F37E27E16E16E 17F17G18H3;I7@L=GNFMOMRORUOUVPWWPXWOYVMXTJVRGTODRLAQJ>PH<OG;NH;NI<QJ>SLAUNEVQHXTLZVOZXQ[XQ\\YQ\\YP[YPYYPYXO YXPYXPYWNXULWRGUNBRI=MD9]50\x81\x1d$\x93\x11\x1ev{wv{wv{vv{vu{utyqtukqnckbYbWQVKKIBG<<F58E38E27E17F07F07F07 F07G18G3;I6>K;DLAJNIQPPUQTWQWXPXWOXVNWUNVTMVSLWSJWRIWRIVRIVRIWSKXTLXUMYVOYWOZXP[YQ[YQZYQZYQZYPYYPZXPZXQZXQZ XPYXOXWNXUKWSIUPGX@=` +d\x11"v{wv{wv{vv{vu{vtztuypstipk`jaX`UPTJJFAG<<E6:E38E28E17F17F17F17F17F18G3:H4=J9CL @JOGOPMSPRUPUVPVVPVVPWWQXWQYWQ[WP[WPZWQZWQZXQ[XQZYQZYRZYQZYQZYQZYQYXQXXQWXPWXPYXQ[XQ[XQ[XQZYQYYPZXPYXOYWNTE CL"-H\x11"w{ww{ww{ww{wv{wu{vuzstxottiplah`W_UOSJIGBE==E7:D59D38E27F27F27E17E17F28F29G4<I7@K<EMBKOIPPOSPSUOT UOVVOWVPYWQZWQZXQZXRZXRZXQZYP[YQ[YQ[YQZYQYXQYXPXWOVVOSUPSVPWWPZWP[XP[XP[YPZYOYYOYXOYXORFCC"*=\x10\x1ew{ww{w w{ww{xv{wv{vu{vuzsvyossinj`g`W^UNTKIGCF?>E:<E7:E49F38F27E27E17E17E17F18G1:I4>K9CM?HNFMOKPONROQSOUUPWVQXWQYX QZXRZXRZYQZYPZYQZYQ[YQZXQYXPYWOYVNWUMSTOSUPWVPZWP[XP\\XP[YOZYPZYPYYOYXPPFB?"(7\x10\x1bv{vv{vv{wv{wv{wv{wv{v v{uvzsuxossjolbi`W`VOUMJKFGCAG<>F8;G59F28F18F17F17F07F07F/8G09H2<I5?K:BL>GNDLOJPPPSQSUQUVQWWPYXQZXQZYPZYPYY QYYQZXQ[XPZWNZWM[UKZULWTMVUOYWQZXQ[XP[XP[YP[YQZXQZXPZYOQFA>"%6\x0f\x18u{vu{vu{vv{wv{wv{wv{vv{vv{uuzsuypssjp kajbXbYQYQLNJJEDI??H9<G4:G28G17G17G17F07F/7F.7F/7G09H2;J6?K;DM@INFLOJOPLQPOSQSUQUVPWWPWXQWXQXXRYXQZXPZWOZWM [VM[VMZUNYVOYWQZXQZXPZXPZYQZXQZXQZXQZXOPF@>!#5\x0f\x14t{vt{vu{uv{vv{vw{vv{wv{vu{uu{tuztuxqstlqoeog[g^T[VPQM LIFJ@@I9<I49I28G18F27F27F07G07F06F07F08G19G3;H6>I9@J;CL=GPAKRGORLRQPTQSVQUWRWWRXXRXXRXXRXXQYWQZWQ[XQZXQZXQY XQYXPYXPYXQYXQZWRZWQYWPPE?= 4\x0e\x11t{vt{vu{vv{vw{vw{vv{vu{vt{ut{uuzvvzuuyruvmuqdpj]gbX^YRUOMLGKBAK;=J6:G 38F38F37F27G27G26F16E06E/6E/7E08F19G3;I5?M8CO=GOBJOFLOINOLPPNQPORQOSROTSPUSQUSSURTURTVRSUQSUQRUPRUPQTQQSQQR QQQPPPNI?=;\x1e\x1d5\r\x0eu{uu{vv{ww{ww{vv{vv{uu{ut{ut{uuzvvzuvzsvypuwmsshqmbkf[c\\S[RNQIKGBI>=G8:F49G38G38 G37G37G27F07E/7E/6D/7E07E18E29F3;H4<I6>J8?K:AL;CL=DM>FN?HP@JRBLRDNRFNQFORFORGPQGOPGOPFNPDMPBKP@IO>GN=EK;6:8 \x1a\x1a7\x0c\x0bv{uv{vv{wv{wv{vv{uu{tu{tt{uu{uuzvvzuvztvzsuzruxpvuksodnh\\g_V_UQVMMKFJCAH=>G9<G8:G68G47G27 G17F07E/6D/6D06E06E17D17E07G07H08H19I2;I3<J4>L5@M6BN8DO;FN<FN;GN;GM<GM<GM<FL;EL9DM7CM5AL3?J2=H3076\x17\x187 \x0b\tv{vu{vt{wt{wu{vu{uu{tu{tu{uu{uuzvuzvtzvtzuu{tvzsvxruvossipmcmf[g^U_UOVMKMGHEBG?=G:9G68H38H27F17E07D07 E07F17F27G27H17H07G08G/8G/8G09H09I1:I2;I3<H4=H4=G4=E4=E3<E3<E2<E1<E0;G0;H0:G09G/8E1-64\x16\x176\n\x08v{wu{v t{ws{vt{vt{ut{uu{uu{uv{uuzuuzvtzvtzvu{vv{uvzuvztvyquvltqeqj^kbXdZS[SNRLKKEID@H>>H:;H8:G69E38D28E17F17G27H27 H17H17H08F/8F/7G/7G/7H/7G/8G08F08E08D08C08B/7B/7C.7B-7C-7E-7E.6E/6E.6D.+5,\x15\x17+\n\x08v{xu{wt{wt{wu{vu{v t{vt{vu{vu{uvzuvzuuzuuzvu{vu{vvzuwztvzsvxquvntsjqnemh_gaXaZRZRLSLILGHFCHC?F>=E9;D59D28G08G17G17G17I17I18G08 G17G17G18G08G08H08H08G18F18F08E07D07D/7E/7E.7F.7F.7F.7E/7E),6\x1d\x16\x17\x16\x0b\x08v{xu{wu{wt{vu{vu{vs{vs {vt{vuzuvzuvztvzuuzvtzvu{vvzuvzuvzuuytuystwpstlqpgnjaidZd^T^XPYSNTNLPJJJFHDCF?@F;>G8<G7;F7:F69H59H49G38G38G 38G38G28G18H09H19G28G28G28F18E17E17F07F/7F/7F/7F/7F18E\'-6\x14\x17\x17\n\x0c\x08vzwvzvuzvuzutzutzus{us{utzv uzvuyuvyuuyutyvuzvuzvuzvuzvuyvtyutxsswqrvopslmohjkdgg_ed\\d`Yb]V_YR[TNUPLQLJLHHIEFFBEC@E?>F<<F:;F8:F69G59G4 9G39G39G3:G2:F39F39F39E49D38E28E18F18G18G18G28F39E(.6\x11\x18\x17\x06\r\x08vzvuzuuzutzutztsztrzuszutzvtyvuy uuyutyutyvtyutzutzvtyvtyusxtrxsqwrpvposnmpkknhhlfhjcjh`if]gcYd_Va\\T]XQZTNVPLSMJOJHLGHHEHEBGA@G?>G<=G:<G8<G 8<G8=G7=F7=F8<F9<E9<E8<E8<F8<F8<G8<G9<G9=G:>F-37\x12\x1b\x18\x05\x0f\x08uzutzutzuszuszurzusytsyutyutyutxttx ttxutxusxtsytsyssxssxsrwsqwrovqntpmrmlojjngilgikeijdhibhhagg`ff_ed]caZa^W\\ZS[XQ]VO[SMUOJPKHLGFHDFDBFAAF@BG ?BH?CG@BGABGBAF@BF@BFBCFDDFDDGEEHFEHFFHGGI6:9\x16\x1e\x19\x06\x10\ttzttztszuszvrzurzusytsyttyutxuswtswstxtt xtsxssxsrxrrxrrwrqwrpvqnupmtolrmkoijmgilgilfhkehkehkehkeikdijbhg_fd\\aaXa_Ue]SdZP]ULXPISKFNHEIEEEDFDEGCEHCF HDEHFDGFDGDEFDEFGFFIGFJHGKIHLJIMJIMKJ;=:\x18 \x19\x06\x11\t' >>> reconstructed_test_1d = np.fromstring(test_string, dtype=np.uint8) >>> reconstructed_test_1d array([121, 125, 122, ..., 6, 17, 9], dtype=uint8) >>> reconstructed_test_img = reconstructed_test_1d.reshape(test_img.shape) >>> test_img.shape (64, 64, 3) >>> np.allclose(test_img, reconstructed_test_img) True >>> reconstructed_test_img.dtype dtype('uint8') >>> scipy.misc.imsave('reimg1.png',reconstructed_test_img)
import numpy as np import skimage.io as io cat_img = io.imread('cat.jpg') io.imshow(cat_img) # Let's convert the picture into string representation # using the ndarray.tostring() function cat_string = cat_img.tostring() # Now let's convert the string back to the image # Important: the dtype should be specified # otherwise the reconstruction will be errorness # Reconstruction is 1d, so we need sizes of image # to fully reconstruct it. reconstructed_cat_1d = np.fromstring(cat_string, dtype=np.uint8) # Here we reshape the 1d representation # This is the why we need to store the sizes of image # along with its serialized representation. reconstructed_cat_img = reconstructed_cat_1d.reshape(cat_img.shape) # Let's check if we got everything right and compare # reconstructed array to the original one. np.allclose(cat_img, reconstructed_cat_img)