如果只是判斷兩組數(shù)組(x,y)與(x',y')是否是一四象限互相旋轉(zhuǎn)得到, 只需滿足兩個條件即可. (1)向量長度不變: x^2+y^2=x'^2+y'^2; (2)y坐標(biāo)符號相反且x坐標(biāo)符號相同: y/|y|=-y'/|y'| and x/|x|=x'/|x'|.
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供羅定網(wǎng)站建設(shè)、羅定做網(wǎng)站、羅定網(wǎng)站設(shè)計、羅定網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、羅定企業(yè)網(wǎng)站模板建站服務(wù),10余年羅定做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
去除黑邊現(xiàn)象的辦法:
1)在做圖像坐標(biāo)映射反查的時候,算出當(dāng)前點(diǎn)在原始圖像的外部還是內(nèi)部,若在外部,判斷當(dāng)前像素點(diǎn)的X或者Y位置,找臨近四個邊界的像
素值代替;
該方法太過繁瑣,適合自己寫程序?qū)崿F(xiàn),如若想調(diào)用現(xiàn)有的一些庫函數(shù),可以考慮2)做法:
2)將待旋轉(zhuǎn)的圖像進(jìn)行邊界填充,最不濟(jì)的情況下可以擴(kuò)充為原始圖像的大??;
旋轉(zhuǎn)邊界填充圖像;
計算原始圖像經(jīng)過旋轉(zhuǎn)以后的結(jié)果圖像的尺寸大??;
在邊界填充旋轉(zhuǎn)圖像上截取目標(biāo)圖像;(圖像都是按照圖像中心旋轉(zhuǎn)的);
附上一段matlab人臉根據(jù)人眼位置對齊的代碼:
[plain] view plain copy
eye_angle = atan2( (eye_pts(2,2) - eye_pts(1,2)),(eye_pts(2,1) - eye_pts(1,1) ) ) * 180 / pi; % 人眼的傾斜角度
if eye_angle 0
eye_angle = eye_angle + 360;
end
if floor(eye_angle) = 5 || floor( 360 - eye_angle ) = 5
continue;
end % 5度之內(nèi)不做對齊操作
img = imread(img_path);
[m,n,~] = size(img);
img_pad = padarray(img,[m n],'both','replicate');% 擴(kuò)充圖像
img_pad_rotate = imrotate(img_pad,eye_angle,'bilinear'); % 旋轉(zhuǎn)擴(kuò)充圖像
[m_pad_r,n_pad_r,~] = size(img_pad_rotate);
[plain] view plain copy
eye_angle = eye_angle * pi / 180;
f_cos = cos(eye_angle);f_sin = sin(eye_angle);
new_m = floor(m * abs(f_cos) + n * abs(f_sin));
new_n = floor(n * abs(f_sin) + m * abs(f_cos));% 最終對齊圖像的大小
left = floor((n_pad_r - new_n) / 2);right = left + new_n;
bott = floor((m_pad_r - new_m) / 2);up = bott + new_m;
face_rorate = img_pad_rotate(bott : up,left : right,:); % 截取目標(biāo)圖像
figure,imshow(face_rorate)
是的,1.導(dǎo)入PyPDF2模塊之后使用open()方法打開pdf文件并且調(diào)用Reader方法直接將這個pdf文件之中的所有頁面都給讀取出來,讀取出來之后返回的是一個可迭代對象。然后使用getPage()方法獲取其中的某一個頁面,代碼如下所示:
import PyPDF2
reader = PyPDF2.PdfFileReader(open('a.pdf','rb'))
page = reader.getPage(0)
2.以上代碼之中的page所返回的就是pdf文件第一頁,使用它去調(diào)用rotateClockwise()方法就能夠?qū)⑵?0度旋轉(zhuǎn),示例如下:
page.rotateClockwise(180)
這個方法一次只能夠?qū)σ粋€頁面進(jìn)行修改操作,并且參數(shù)必須為90度及其倍數(shù)。也就是只能選擇90、180、270、360這四個度數(shù),而且選擇是順時針選擇的,旋轉(zhuǎn)之后的頁面會自動調(diào)整格式。
3.頁面旋轉(zhuǎn)完畢之后還需要實例化出來一個文件寫入對象,然后使用這個對象將修改旋轉(zhuǎn)后的頁面添加到原pdf文件之中。再打開一個新的pdf文件用來保存,然后使用write()方法將頁面寫入之后將其關(guān)閉掉就好了,代碼示例如下:
output = PyPDF2.PdfFileWriter()
outputStream = open ("b.pdf","wb")
output.write(outputStream)
outputStream.close()