zoukankan      html  css  js  c++  java
  • 661. Image Smoother

    Given a 2D integer matrix M representing the gray scale of an image, you need to design a smoother to make the gray scale of each cell becomes the average gray scale (rounding down) of all the 8 surrounding cells and itself. If a cell has less than 8 surrounding cells, then use as many as you can.

    Example 1:

    Input:
    [[1,1,1],
     [1,0,1],
     [1,1,1]]
    Output:
    [[0, 0, 0],
     [0, 0, 0],
     [0, 0, 0]]
    Explanation:
    For the point (0,0), (0,2), (2,0), (2,2): floor(3/4) = floor(0.75) = 0
    For the point (0,1), (1,0), (1,2), (2,1): floor(5/6) = floor(0.83333333) = 0
    For the point (1,1): floor(8/9) = floor(0.88888889) = 0
    

    Note:

      1. The value in the given matrix is in the range of [0, 255].
      2. The length and width of the given matrix are in the range of [1, 150].
     
    
    class Solution:
        def isLegal(self,x,y,i,j):
            return (True if((i<x)and(j<y)and(i>=0)and(j>=0)) else False)
        def imageSmoother(self, M):
            """
            :type M: List[List[int]]
            :rtype: List[List[int]]
            """
            x=len(M)
            y=len(M[0])
            returnM=copy.deepcopy(M)
            Filter=[[-1,-1],[-1,0],[-1,1],[0,-1],[0,0],[0,1],[1,-1],[1,0],[1,1]]
            for i in range(x):
                for j in range(y):
                    legalPointNum=0
                    graySum=0
                    for fi in range(9):
                            tmpi=i+Filter[fi][0]
                            tmpj=j+Filter[fi][1]
                            if(self.isLegal(x,y,tmpi,tmpj)):
                                graySum+=M[tmpi][tmpj]
                                legalPointNum+=1
                    returnM[i][j]=int(graySum/legalPointNum)
            return returnM
  • 相关阅读:
    最详细的hadoop2.2.0集群的HA高可靠的最简单配置
    HIVE 在执行大量数据JOIN的时候,容易产生内存不足的情况
    机器学习的学习笔记1
    AngularJS在IE8的支持
    OC 异常处理
    OC NSString练习
    OC继承
    OC--@property和@synthesize关键字
    OC输入输出
    OC数组和字典简单使用
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/7694906.html
Copyright © 2011-2022 走看看