NMM视频技术(旧)

 找回密码
 成为会员
搜索
查看: 9877|回复: 16

[原创]切边与Resize计算器

[复制链接]
发表于 2005-11-8 17:26 | 显示全部楼层 |阅读模式
程序地址:http://www.dgwxx.net/cnr/index.php

本程序是根据“可曾记得爱”写的《DVDRIP制作中Crop&Resize实际操作步骤低理论高精度版》这篇文章写得穷举式计算器。使用前请先阅读他的文章,以便更好地理解本计算器的使用。

使用方法:
1. 首先选择片源制式和屏幕比例。请注意,letter box格式的16:9片子必须按照4:3格式来处理。等到切边、Resize完成之后,在切去画面上下多余的黑边。
2.目标横向/纵向分辨率为最终需要输出的分辨率。
3.左右/上下最少切边共为总共需要切去多少像素才能完全将黑边/卷边/暗边切掉。
4.切边搜寻范围设定穷举的范围。例如,我想让程序计算从切5像素到25像素的全部AE值,那么就在这里设定20。注意,这个之需要根据自己的需要进行配置。一味追求过高的搜寻范围会使计算缓慢、结果过多,不便于筛选。另外,切掉数十、上百像素的画面还会有意义么
5.容忍最大AE设定你能接受的最大AE绝对值。比如我最多能接受2%的AE,那么就在这里填写0.02。
6.输出过滤选择输出结果是否包含奇数切边值。
7.项目前标有“*”的为必选项目,没有标“*”的为可选项目。必选项目必须正确设定,可选项目可以留空,留空程序会按照默认值设定。

结果使用方法:
本程序输出的结果分为两列。左列为按照设定计算出的全部匹配结果,分为横向共切、纵向共切和AE三个项目。左列结果除非数量很少,否则不便单独使用。
因此,程序设置了右侧栏。右侧栏按照AE从小到大的顺序列出全部AE。找到合适的AE之后,只需要选中、用IE在文中搜索,即可找到相应的切边方案。

注意事项:
1.结果数量为切边搜寻范围的平方。比如设定搜寻范围20,那么将会有400个结果产生。所以请慎重设定搜寻范围。
2.本计算器只适用于单次切边、单次Resize,AE完全为0的情况不会很多。想寻求AE=0的711切边方案的朋友可以去找找SSWROOM的帖子。
3.本方案与711方案应为互相补充的关系。尤其是一部分老片当切到711的时候不能完全切除黑边/卷边/暗边的时候,可以考虑使用本方案。另外,当片子上下有黑边需要切除的时候,711方案同样不适用,也可以考虑本方案(有的人喜欢保留上下的黑边 如果希望保留上下黑边的话,可以使用711方案)。

因为是第一次放出,所以肯定会有一些错误、缺点,到时候请大家帮忙指出,我会及时修正。谢谢!

因为不会VB或者C,所以没办法写windows下的应用程序。本程序的主要源代码在下面贴出,如果有谁会写,请尽量拿去用 其实也没什么难的,只是一个嵌套循环而已。
 楼主| 发表于 2005-11-8 17:45 | 显示全部楼层
下面是程序的主要源代码,重要变量、过程上我都加了注释。


  1. <?php
  2.         elseif ($action == 1):

  3.                 $mode = $_POST['mode']; //制式,1为NTSC,2为PAL
  4.         $ar = $_POST['ar']; //屏幕比例,1为16:9,2为4:3
  5.         $a = $_POST['h_rev']; //目标横向分辨率
  6.         $b = $_POST['v_rev']; //目标纵向分辨率
  7.         $e = $_POST['h_crop']; //水平方向最小切边
  8.         $f = $_POST['v_crop']; //垂直方向最小切边
  9.         $i = $_POST['search_range']; //切边搜寻范围
  10.         $j = $_POST['max_ae']; //最大可接受比例失真
  11.         $output = $_POST['output']; //输出过滤,1为输出全部结果,2为只输出偶数切边方案
  12.         $c = 720; //横向输入分辨率,因为NTSC和PAL都是720,所以就在这里设定了
  13.        
  14.         // 输入限制
  15.         if (!$a || !$b) die("输出分辨率为必选参数,必须设定。");
  16.         if ($i > 25) die("搜寻范围过大,请设置在25以下。");
  17.         // 默认值
  18.         if (!$e) $e = 0;
  19.         if (!$f) $f = 0;
  20.         if (!$i) $i = 10;
  21.         if (!$j) $j = 1;
  22.         // 奇偶数判断
  23.         function isodd($num)
  24.         {
  25.                 $num = explode(".", $num / 2);
  26.                 if ($num[1] != "") {
  27.                         return true;
  28.                 } else {
  29.                         return false;
  30.                 }
  31.         }
  32.         // 判断纵向输入分辨率,下同
  33.         if ($mode == 1) $d = 480;
  34.         if ($mode == 2) $d = 576;
  35.         // 判断比例因数,16:9为0.75,4:3为1
  36.         if ($ar == 1) $factor2 = 0.75;
  37.         if ($ar == 2) $factor2 = 1;
  38.         // 计算过程开始,下面不要改动!!
  39.         echo "
  40. <p align="center">结果输出</p>
  41. <table width="100%" border="1" align="center">
  42.   <tr>
  43.     <td width="50%"><div align="center">结果输出</div></td>
  44.     <td><div align="center">AE从小到大排列</div></td>
  45.   </tr>
  46.   <tr>
  47.     <td align="center" valign="top">
  48. ";
  49.         // 计算因数b,公式为[变形后的宽/变形后的高]
  50.         $bb = $a / $b;

  51.         for($k = $e;$k < $e + $i;$k++) {
  52.                 for($l = $f;$l < $f + $i;$l++) {
  53.                         // NTSC计算公式
  54.                         if ($mode == 1) $aa = (($c - $k) * 72 / 79) / (($d - $l) * $factor2);
  55.                         // PAL计算公式
  56.                         if ($mode == 2) $aa = (($c - $k) * 128 / 117) / (($d - $l) * $factor2);

  57.                         $cc = $aa / $bb-1;
  58.                         $dd = abs($cc);
  59.                         if ($output == 1 && $dd < $j) {
  60.                                 // 显示全部结果
  61.                                 echo "横共切:" . $k . ",纵共切:" . $l . ",AE:" . $cc . "<br>";
  62.                                 $out[] = $dd;
  63.                         } elseif ($output == 2 && $dd < $j) {
  64.                                 if (!isodd($k) && !isodd($l)) {
  65.                                         // 只显示偶数方案
  66.                                         echo "横共切:" . $k . ",纵共切:" . $l . ",AE:" . $cc . "<br>";
  67.                                         $out[] = $dd;
  68.                                 }
  69.                         }
  70.                 }
  71.         }
  72.         echo "
  73. </td>
  74.     <td width="50%" align="center" valign="top">
  75. ";
  76.         // 对AE列表进行排序
  77.         sort($out);
  78.         // 遍历数组
  79.         for($o = 0;$o < count($out);$o++) {
  80.                 echo $out[$o] . "<br>";
  81.         }
  82.         echo "
  83. </td>
  84.   </tr>
  85. </table>
  86. ";
  87. endif;

  88. ?>
复制代码
发表于 2005-11-30 12:23 | 显示全部楼层
letter box格式的16:9片子是指哪一种片子
 楼主| 发表于 2005-11-30 12:38 | 显示全部楼层
就是在16:9的上下加上黑边,补成4:3……这种片子需要按照4:3来C&R,之后再切去上下黑边,重新变成16:9。
发表于 2005-11-30 20:26 | 显示全部楼层
那么这种片子在DGIndex中显示16:9还是4:3呢
 楼主| 发表于 2005-12-7 19:30 | 显示全部楼层
不知道,DGIndex现实的时候不是分析片子而是直接显示旗标,DVD旗标被标成什么样都有可能,要你自己实际去看片子才能知道。
发表于 2006-1-14 12:29 | 显示全部楼层
  1. begin 644 cnr.rar
  2. M4F%R(1H'`#O0<P@`#0`````````@%G2`@"4`HP<``/$2```"9RX:681@+C0=
  3. M-04`(`@``&0N='ATIQ@\+C7>@4*06@OTK^8Y)XE(*;!NYRWU>J<_>NL+H=RC
  4. MTGIW3YZS2QLE5;`L6'P-8<?_X#8#8`L"76'L8Z2QS41F-^W_`Q;';-C02$CU
  5. M9RID\&Y)31YV5N^&X_%[REPO7JITF")?M<1C$$O1B3?CR?&9)!U$/E+9^JF$
  6. MM-7?'DYZ$X9JG.BSH@1N1R=``%&PV``3.`PN1@_@)SB>G\5`^=4H5%$IJ:\Z
  7. MU"VH8RGOJ6DV5R"'!,9MK)TRO$`R,M.E+*1M[C,<PC@&(LP.P8VSZYK`*!@Z
  8. M7)2+I^N1:J$14"%]M^O_`!V&26*:^NC-U^3)=AT5,4:*27K)MN"<*]P`-9P^
  9. M:>Z#.L99@O<82''CP\]ZGPW1.-!.T?U34IA<&P8VS_D._@';.,A[[Z(<"4P_
  10. MB1_,52R8*Y\Z;!<"A86_9&!S=9]B2_#\ZXRD-/F1%%_7#*9U2+:VY8;'=C<1
  11. M][>.M>R'),AL8O'_,VM#*SK2/6R-@?C9TN2.2\R;=]ZCGP>_)Z!E=W71<GC8
  12. MA,D8,@\>-"?UKWKGA`CVI>#F&BD-B63^/NGF0W>7),J';>]HDLG0^>@7%2('
  13. M"81XC90%=*Q\P[O>Y_"Z<]M)^X%R;VRA@WD)_Y0+I(:SYN+#T]>Z!CY5]K@[
  14. M1V.&160-U[E]U@9Z%>GEE!8;V(!H8Q6_8-X8UU\NT,[/-:3H%[D69/39OMGT
  15. M4]F-V@CPN>]&F2^^:,F<7HJ9>XD=ITHB@J6Z+"B282A'WNWZ!2#JX;0M`>0Q
  16. MR/RLKCVON,5I`@GL2H.8IM;Y$F++*4`B@_0%J)*3J^)H@M07)@MA1SYKY#*X
  17. M<'&IG>+GX<Z/>0O@*0O60PCI445"6&"?,ZP)Y>J9>BZ?7'RH,7D+PP+9+V5_
  18. M6"A7=LF0/4Y'R/G?6(":$*#AE4",[^W00PT6_3G_>OI;.72+<&@)J,\K_+X
  19. M)J4W"';A:!T5X5<]N"65:X14,`:03DYYL!3/O8I>JWDM/W1DB!]LVN:N*Y(K
  20. MY255TC$^H85B:_S[3W`!7+H1.?D8OE^`#<-18O##.N-W.TL]#]E4BJW^B@77
  21. M>Q@P>Q`8_6=>?JKS`YXCX#:!,<Y#?/(;AO*/5.O55LSC`FMB=UW`,\M:%ZLJ
  22. MDF^%JU\81C,H37?+8X+W29I.AYX%:L;1K0S2'_6-N0="R*>[F%Q6_I&C':LY
  23. M[T)1.6(X7DGLZ."YY77(C/R?#2">#`=OQU1,\W_8O^4<-TR9G`)U42#%7B[Y
  24. MN`YU@$P8A(\:-,E08*ZRO<?$?S#\N73(1ZN9@Q5AD#&<.X\!E++Q9)I/I91X
  25. M7'&B#WB#1`*5>GL?9,U0JH%%N9ZWE_&Z\?Q2:.G,%O?_V,-YJJI^2`U49@C.
  26. MGFF%6^V!R&Y:>5BXOX>,;IK!MN;#MO@T@G-BWX$%5U(J3W0G,VU//^K"FN<P
  27. MG4BIZ)IST,%>KS6*!;&>!^K21&31NGBJ7+LEL?C0:QWEPNFMR="CM9959#8G
  28. M^HNN`RA_:V)8<BWA65#8<8?2GNAG])#F/O`-F"%GQT)^P41!#OJ6<LM)`0@+
  29. MA2,!AT!6[B6]0]_M[L5LS]=>5"%0$LNC?7<^+R8W3]P#&E5N`D90<%1P3,<%
  30. M/MT#CGX`,6`"=<M=I6G,.#SZ:03WB<=U"5K?\'+L(RS2^L1CN9-CU4K86A:Z
  31. M-&6,-_;6A2!50IVCGP>FOP!IX#GY^JYZ@Z^MC>7U#3;8M5LPC@:1V(CS`&NQ
  32. M$#5*8<&3>M='P?W35;>SGA'/]'=W"%LVPT!O]1&LDL`8#2C/_#]3_'TQ$C[!
  33. MWM1E(GT_DF1./?;:'2OJ!ZTS5MC.RPP=S)S;]Z#G.+(&;]Q1$R@>\>-8Q.SC
  34. MWS1=J9KQ<N6-Z."TK:<T$B$(6._^W>75;+ZJ<-5LIRB>_$FM5&$%`.4\=2$Y
  35. M665%%8<L^Q_]FL0$:?(=:*N;FGK6-B7$O(0@S2`+@5=-ZEPQ9)F[7S+M[6[S
  36. M"63<M)=!3,*BTI3\\WV<WSKB'FM%^DB_2!0Z1!8!RD7ZZ!0`@>0%,S%=D<R8
  37. ME.<3R1/G6KV*!"--]Y]VGT6`5K^9B)0#DH,`E[14MC7ZO`\CPU4B[D1<N]6P
  38. MQ=^&2<.R@OG('-LE;)HUJH^DG1IBG!$=M,H*_:MC/;<Z[+N6G)Y3S;MW[C"6
  39. MW5Z@I]FEL5PBUEGB4/?MZ4B*]-#C6QB<)V:AD$,OUQ#0Y04,.FMS["H@==43
  40. MS[+"2F:F7HQYMY8.?,+MJ$:E0/1H^>[L7&_=5T69%N;TC6)PE?_>$'3G2#MH
  41. MRE;5)[7?U[6(*%K:^(?*VYT-"RP4&C*UFEW1?5/$P5;2"6M1@\%?#.JG3AVK
  42. M`[2ZUZL]=!\B^OO/5PYE;#_;/OB%*=VVVB[S^+]*]$@^7NN.Z,<3'\%#_1=J
  43. M"6#O5AFTY,RM2QR+.VR-!XH*TJQEVF!,C!ZD-AA,-YZHV;M6"T"Z]WMMM.Y/
  44. M-"*`JV4($QM_;>CSSD+VC;[ZYOKC^]@$L*(YS7;Y*".G_'LCJ/=NV+H[MKV*
  45. M<3-TQIYU];PH-D1:W!+NC63W^TF!CG2&3T===\`%P2">20[]4;ZV'*5AJW]E
  46. M(Z&]E=C!UNF1F6$DB%MMX/!R<JURF[```+^(9_:I_]1F,W20@"D`B@,``*\)
  47. M```"29X=:N9A+C0=-0D`(`@``&EN9&5X+G!H<(=);3O)1<%\X@`BV+MSW0[2
  48. M[^R85'RLJS`1B*UJ5?4!4B!I/A4YEKI&](-28N44F3U6[./*H,/9U/T>B,#K
  49. M&6BZ'KY4*%-'A)G2$LS]PRY$6G7P.Y8S87-6O6NTFL-QFME]9@U&BK,?[VOM
  50. MM_GK:8I[H;4C?<JM5/4B^='&+MBMPQ5PV@-]_\Z,Q110QMBL>-"/CV2\%:/
  51. MF3[[WWOZ'%O-MS`,&S-+#3>;42GO6=S$?$(;:"(I8<01R'HDA2\F6MK+YBE/
  52. M3;%MHMLZE"9BC)[53(631V7_0IK=7H)SM>E?Q:-M)H#MSC<.W@4<0;;!DA1!
  53. M=(WEJ_4JTST&:SXXA>C,A,0Z<&\KLA^]X5\GHSU=UU5*F%..6\BGJ2PI^"1@
  54. M7=-KZ5V>AE0"._^R<:.?.V)O*GDYSU+2IC0G?S``3-.2[&2Y_TQYJBJM1P8"
  55. M\NL*INX^`-D-&.7',3N?Q#53U-0;2TL+(_>0YGRC0R5KF:PKY7R+N]MM\B,\
  56. MJZ(?@<_D4%X-*1Y^.BZ%#DF!WQ]F'N47$L"P9)1.^@##6\RV@Q,DVIEF^V!#
  57. MQ]CW7X<H=17:=G=/HD/#8QO[M"P6S>Z(T8!CWP1G.UP."7:K:SSKH,Z"0`#!
  58. M]R@?O)UP?3DYRP^6[PMY]4P^M+ZL.4/@B+&M2A251$1P9]M2B`[G*F;PF!&/
  59. M8L$3`Y%AM:%9@6,K"(V+/3JZKZO=](&"#JX@2<I+$12_9`B%!TO^./^$,+Y#
  60. MFW9_Y3PII^-66=+LGH6"7&P#;%,[^->!R(]LEL]G-FAA8%/>`N.HK?L:&\^L
  61. M51.^J3C4E*[:<EN.S[479TN\DOFFY9HMKF+_L]9?YFE1'(:+\6CMAXZ4-R3W
  62. M94OX=U*2#TDV38+E#5*7;+-MX'9-`S=^^A)B0;A01S:N8B-NLJ3$0RZWHOYM
  63. M`/`@HM2[(L41N.9Y$1M,9W]H858%Q'B1@T9O0:XY>9OL;QNY4VLK>STTT6ME
  64. M69%&H=U]*(T3FH)F:@UW[E::^^9:?L'_59?+HM0G#+8I3@Q8AMC($'*-,9.$
  65. MEB_@KT>`L"=XJ++2_OWUF7T$1D$I$_P4[/%+O".,!NE"=HHGK1=V%]6M`*'7
  66. M&R-S/`]6!AS>LCVDF[*M`KJ+NOW2]>Q;\A,(Z@^B^(?6WW,*EP"$H*CPL-TE
  67. IQ4ZCI<LE@[60'/@_)674F1L!<JV;ZPRN6```OXAG]JG_U,0]>P!`!P``
  68. `
  69. end
  70. sum -r/size 40143/2966
复制代码

修改版本。保存为*.uue,再用winrar打开……
 楼主| 发表于 2006-1-16 10:36 | 显示全部楼层
谢谢更新版本~等电脑整理完成之后就放上去
发表于 2006-1-16 22:20 | 显示全部楼层
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>

  4. struct solution
  5. {
  6.         int hcrop, vcrop;
  7.         double ae, absae;
  8. };
  9. solution * sol[625];
  10. int recount = 0;

  11. void usort()
  12. {
  13.         int i, j;
  14.         solution * temp1;
  15.         for(i = 0; i < recount - 1; i++)
  16.                 for(j = 0; j < recount - i - 1; j++)
  17.                         if(sol[j]->absae > sol[j+1]->absae)
  18.                         {
  19.                                 temp1 = sol[j];
  20.                                 sol[j] = sol[j+1];
  21.                                 sol[j+1] = temp1;
  22.                         }
  23. }

  24. void freeall()
  25. {
  26.         int i;
  27.         for(i = 0; i < recount; i++)
  28.                 free(sol[recount]);
  29.         recount = 0;
  30. }

  31. int main()
  32. {
  33.         int mode, ar, hrev, vrev, hcrop, vcrop, srange, output, c=720, d, k, l, i;
  34.         double maxae, factor2, aa, bb, cc, dd; //Ahhh~, i hate these variable names!!!
  35.         char filename[200];
  36.         FILE * fp;
  37.         puts("   Crop & Resize Calculator @ C++");
  38.         puts("          by MR, v 0.1\n");
  39.         printf("制式\t\t1 - NTSC\t2 - PAL:");
  40.         scanf("%d", &mode);
  41.         printf("屏幕比例\t1 - 16:9\t2 - 4:3:");
  42.         scanf("%d", &ar);
  43.         printf("Target 横向分辨率:");
  44.         scanf("%d", &hrev);
  45.         printf("Target 纵向分辨率:");
  46.         scanf("%d", &vrev);
  47.         printf("横向最小切边(默认0):");
  48.         scanf("%d", &hcrop);
  49.         printf("纵向最小切边(默认0):");
  50.         scanf("%d", &vcrop);
  51.         printf("切边搜寻范围(建议20以内):");
  52.         scanf("%d", &srange);
  53.         printf("最大可接受AE(0 - 默认1.0):");
  54.         scanf("%lf", &maxae);
  55.         printf("输出过滤\t1 - All\t2 - Even number crop only:");
  56.         scanf("%d", &output);
  57.         getchar();
  58.         if(maxae < 1e-6)
  59.                 maxae = 1.0;
  60.         if(srange < 0)
  61.                 srange = 10;
  62.         if(mode == 1)
  63.                 d = 480;
  64.         else
  65.                 d = 576;
  66.         if(ar == 1)
  67.                 factor2 = 0.75;
  68.         else
  69.                 factor2 = 1.0;
  70.         bb = (double)hrev / (double)vrev;
  71.         for(k = hcrop; k < hcrop + srange; k++)
  72.         {
  73.                 for(l = vcrop; l < vcrop + srange; l++)
  74.                 {
  75.                         // NTSC计算公式
  76.                         if (mode == 1)
  77.                                 aa = ((c - k) * 72. / 79) / ((d - l) * factor2);
  78.                         // PAL计算公式
  79.                         else
  80.                                 aa = ((c - k) * 128. / 117) / ((d - l) * factor2);
  81.                         cc = aa / bb - 1;
  82.                         dd = fabs(cc);
  83.                         if(dd < maxae && (output == 1 || output == 2 && k % 2 == 0 && l % 2 == 0))
  84.                         {
  85.                                 sol[recount] = (solution*)malloc(sizeof(solution));
  86.                                 sol[recount] -> hcrop = k;
  87.                                 sol[recount] -> vcrop = l;
  88.                                 sol[recount] -> ae = cc;
  89.                                 sol[recount] -> absae = dd;
  90.                                 recount++;
  91.                         }
  92.                 }
  93.         }
  94.         usort();
  95.         printf("Write to file(ENTER to print on screen):");
  96.         gets(filename);
  97.         if(filename[0] != 0)
  98.         {
  99.                 // to file
  100.                 fp = fopen(filename, "w");
  101.                 fputs("H-Crop,V-Crop,AspectError,Abs AspectError\n", fp);
  102.                 for(i = 0; i < recount; i++)
  103.                         fprintf(fp, "%d,%d,%.8lf,%.8lf\n", sol[i]->hcrop, sol[i]->vcrop, sol[i]->ae, sol[i]->absae);
  104.                 fclose(fp);
  105.                 puts("Written to file.");
  106.         }
  107.         else
  108.         {
  109.                 puts("H-Crop\tV-Crop\t Aspect Error\tAbs AspectError");
  110.                 for(i = 0; i < recount; i++)
  111.                         printf("%3d\t%3d\t%12.8lf\t%13.8lf\n", sol[i]->hcrop, sol[i]->vcrop, sol[i]->ae, sol[i]->absae);
  112.         }
  113.         freeall();
  114.         printf("Press enter key to exit...");
  115.         getchar();
  116. }
复制代码


C++的版本,可以用Dev-CPP附带的gcc编译器编译。

[ 本帖最后由 MeteorRain 于 2006-1-16 22:21 编辑 ]

cnrc++.rar

8.53 KB, 下载次数: 12217

 楼主| 发表于 2006-1-20 17:33 | 显示全部楼层
网站上的程序已更新
发表于 2006-1-22 02:05 | 显示全部楼层
貌似写成及时调整的更方便 一长串看这就眼花...
 楼主| 发表于 2006-1-22 11:34 | 显示全部楼层
汗……那个有难度
我还没那么高水平= =||Javascript我是一窍不通
发表于 2006-1-23 01:06 | 显示全部楼层
查阅E文档案一般指出
For 525-line Rec.601 video, the pixel aspect ratio is exactly 10/11 (x/y).
For 625-line Rec.601 video, the pixel aspect ratio is exactly 59/54 (x/y).
那NTSC的72:79和PAL的128:117又是怎么回事呢?

PS: 不过可以确定的是我手里某面教程里PAL的AR值必然是比反了,因为pixel中NTSC:W<H PAL:W>H是显而易见的

[ 本帖最后由 FalconIA 于 2006-1-23 01:28 编辑 ]
发表于 2006-3-6 18:25 | 显示全部楼层
下不了嘛,文件不存在?
 楼主| 发表于 2006-3-7 06:42 | 显示全部楼层
地址改了,忘记更新^^||
谢谢楼上提醒
发表于 2006-8-5 21:20 | 显示全部楼层
原帖由 dgwxx 于 2005-11-30 12:38 发表
就是在16:9的上下加上黑边,补成4:3……这种片子需要按照4:3来C&R,之后再切去上下黑边,重新变成16:9。

这个怎么理解?

切去左右黑边 R到 你需要的16:9分辨率再切去上下的黑边?
发表于 2007-5-7 17:33 | 显示全部楼层
增加resize搜索功能,附带C++源代码的版本

http://my.opera.com/leiming/blog/2007/02/17/original-dvd-crop
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

小黑屋|手机版|NMM视频技术

GMT+8, 2024-4-29 22:34 , Processed in 0.094121 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表