翻转图像

一、题目描述

 给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果

 水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]

 反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]

 示例 1:

  输入: \([[1,1,0],[1,0,1],[0,0,0]]\)

  输出: \([[1,0,0],[0,1,0],[1,1,1]]\)

 解释:

  首先翻转每一行: \([[0,1,1],[1,0,1],[0,0,0]]\)

  然后反转图片: \([[1,0,0],[0,1,0],[1,1,1]]\)

 示例 2:

  输入: \([[1,1,0,0],[1,0,0,1],[0,1,1,1],[1,0,1,0]]\)

  输出:\([[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]]\)

 解释

  首先翻转每一行:\([[0,0,1,1],[1,0,0,1],[1,1,1,0],[0,1,0,1]]\)

  然后反转图片:\([[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]]\)

class Solution:
          def __init__(self, value):
                    self.values = value
          def reversed(self):
                    for i, p in enumerate(self.values):
                              self.values[i] = list(reversed(p))
                              for j, v in enumerate(self.values[i]):
                                        if self.values[i][j] == 0:
                                                  self.values[i][j] = 1
                                        else:
                                                  self.values[i][j] = 0
                    return self.values

p = Solution( [[1,1,0,0],[1,0,0,1],[0,1,1,1],[1,0,1,0]])
print(p.reversed())
#[[1, 1, 0, 0], [0, 1, 1, 0], [0, 0, 0, 1], [1, 0, 1, 0]]

原文地址:https://www.cnblogs.com/always-fight/p/10319364.html

时间: 2024-08-30 03:54:43

翻转图像的相关文章

Leetcode#832. Flipping an Image(翻转图像)

题目描述 给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果. 水平翻转图片就是将图片的每一行都进行翻转,即逆序.例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]. 反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换.例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]. 示例 1: 输入: [[1,1,0],[1,0,1],[0,0,0]] 输出: [[1,0,0],[0,1,0],[1,1,1]] 解释: 首先翻转每一行: [[0

Leetcode 832.翻转图像

1.题目描述 给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果. 水平翻转图片就是将图片的每一行都进行翻转,即逆序.例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]. 反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换.例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]. 示例 1: 输入: [[1,1,0],[1,0,1],[0,0,0]] 输出: [[1,0,0],[0,1,0],[1,1,1]] 解释: 首先翻转每一行: [

opencv 图像平移、缩放、旋转、翻转 图像仿射变换

图像几何变换 图像几何变换从原理上看主要包括两种:基于2x3矩阵的仿射变换(平移.缩放.旋转.翻转).基于3x3矩阵的透视变换. 图像平移 opencv实现图像平移 实现图像平移,我们需要定义下面这样一个矩阵,tx和ty分别是x和y方向上平移的距离: 图像平移利用仿射变换函数 cv.warpAffine() 实现 实验 # 图像平移 import numpy as np import cv2 as cv img = cv.imread('paojie.jpg') rows, cols = img

[CareerCup] 1.6 Rotate Image 翻转图像

1.6 Given an image represented by an NxN matrix, where each pixel in the image is 4 bytes, write a method to rotate the image by 90 degrees. Can you do this in place? LeetCode中的原题,请参见我之前的博客Rotate Image 旋转图像.

[LeetCode] Flipping an Image 翻转图像

Given a binary matrix A, we want to flip the image horizontally, then invert it, and return the resulting image. To flip an image horizontally means that each row of the image is reversed.  For example, flipping [1, 1, 0] horizontally results in [0,

leetcode——832. 翻转图像

class Solution(object): def flipAndInvertImage(self, A): """ :type A: List[List[int]] :rtype: List[List[int]] """ for i in range(len(A)): A[i]=A[i][::-1] for j in range(len(A[i])): A[i][j]=1-A[i][j] return A 执行用时 :44 ms, 在所有 

Emgu学习之(二)——图像读取、显示、保存

visual Studio Community 2015 工程和源代码:http://pan.baidu.com/s/1o6u5Fdw 内容 在这篇文章中将提到以下内容: 从文件中读取图像 Image类 显示图像 保存图像 在上一篇文章Emgu学习之(一)——Emgu介绍中,我介绍了如何创建Emgu的工程,但是上一个Demo使用的是OpenCV的HighGUI窗体显示图像,这一 次我们要用WinForm窗体显示图像,并将图像进行操作后另存为新的图像文件.首先我们要做的是在Visual studi

学习笔记TF015:加载图像、图像格式、图像操作、颜色

TensorFlow支持JPG.PNG图像格式,RGB.RGBA颜色空间.图像用与图像尺寸相同(height*width*chnanel)张量表示.通道表示为包含每个通道颜色数量标量秩1张量.图像所有像素存在磁盘文件,需要被加载到内存. 图像加载与二进制文件相同.图像需要解码.输入生成器(tf.train.string_input_producer)找到所需文件,加载到队列.tf.WholeFileReader加载完整图像文件到内存,WholeFileReader.read读取图像,tf.ima

Halcon 10.0:Hobject图像转CBitmap

1 void HImage2CBitmap(Hobject pImage,CBitmap *wImage) 2 { 3 char lpcsType[MAX_STRING]; 4 Hlong lPointer,width,height,channels; 5 Hlong lPointerR,lPointerG,lPointerB; 6 count_channels(pImage,&channels); 7 //获取Halcon数据的Long指针 8 if (channels == 3) 9 { 1