旋转图像
2017-06-19 15:45
134 查看
给定一个N×N的二维矩阵表示图像,90度顺时针旋转图像。
样例
给出一个矩形[[1,2],[3,4]],90度顺时针旋转后,返回[[3,1],[4,2]]
import java.util.Scanner;
/**
* 给定一个N×N的二维矩阵表示图像,90度顺时针旋转图像。
样例
给出一个矩形[[1,2],[3,4]],90度顺时针旋转后,返回[[3,1],[4,2]]
*
* @author Dell
*
*/
public class Test161 {
public static void rotate(int[][] matrix)
{
if(matrix.length==0)
return;
int m=matrix.length;
int n=matrix[0].length;
int[][] temp1=new int[m]
;
int[][] result=new int[m]
;
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
temp1[j][i]=matrix[i][j];
}
}
for(int j=0;j<n;j++)
{
for(int i=0;i<m;i++)
{
result[i][j]=temp1[i][n-j-1];
}
}
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
matrix[i][j]=result[i][j];
}
}
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int m=sc.nextInt();
int n=sc.nextInt();
int[][] matrix=new int[m]
;
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
matrix[i][j]=sc.nextInt();
}
}
rotate(matrix);
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
System.out.print(matrix[i][j]+" ");
}
System.out.println();
}
}
}
样例
给出一个矩形[[1,2],[3,4]],90度顺时针旋转后,返回[[3,1],[4,2]]
import java.util.Scanner;
/**
* 给定一个N×N的二维矩阵表示图像,90度顺时针旋转图像。
样例
给出一个矩形[[1,2],[3,4]],90度顺时针旋转后,返回[[3,1],[4,2]]
*
* @author Dell
*
*/
public class Test161 {
public static void rotate(int[][] matrix)
{
if(matrix.length==0)
return;
int m=matrix.length;
int n=matrix[0].length;
int[][] temp1=new int[m]
;
int[][] result=new int[m]
;
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
temp1[j][i]=matrix[i][j];
}
}
for(int j=0;j<n;j++)
{
for(int i=0;i<m;i++)
{
result[i][j]=temp1[i][n-j-1];
}
}
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
matrix[i][j]=result[i][j];
}
}
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int m=sc.nextInt();
int n=sc.nextInt();
int[][] matrix=new int[m]
;
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
matrix[i][j]=sc.nextInt();
}
}
rotate(matrix);
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
System.out.print(matrix[i][j]+" ");
}
System.out.println();
}
}
}
相关文章推荐
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- LeetCode-Rotate Image-图像旋转-矩阵元素操作
- PHP图像操作:3D图、缩放、旋转、裁剪、加入水印(一)
- C# (GDI+相关) 图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)
- 利用OpenCV实现旋转文本图像矫正的原理及OpenCV代码
- C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)
- php图像处理函数大全(缩放、剪裁、缩放、翻转、旋转、透明、锐化的实例)
- 图像处理基础知识(三)——根据主轴方向旋转至水平或垂直方向
- 13 款最棒的 jQuery 图像 360° 旋转插件
- OpenCV2 图像旋转偏移问题
- 【python图像处理】图像的缩放、旋转与翻转
- Java图像之自定义角度旋转(实例)
- 【OpenCV & Python】图像几何变换:旋转,缩放,平移
- 201503-1 试题名称: 图像旋转(100分)ccf认证
- 数字图像处理--通过矩阵,简化操作(旋转,平移,缩放,切边....)
- CCF 201503-1 图像旋转
- Glide - 如何旋转图像
- OpenCV利用矩阵实现图像旋转
- YUV420图像旋转90算法的优化
- Java图片缩略图裁剪水印缩放旋转压缩转格式-Thumbnailator图像处理